gpt4 book ai didi

android - 一旦客户端 2 连接,Kryonet 就会断开客户端 1

转载 作者:可可西里 更新时间:2023-11-01 02:54:49 26 4
gpt4 key购买 nike

我之前曾与 Kryonet 合作过进行一对一的沟通,效果很好。

现在我正在做一个更“标准”的项目,我们将有 1 个服务器和多个客户端连接到它。

我遇到的问题如标题所述:客户端1连接,没问题。然后我要求客户端 2 连接,客户端 1 立即断开连接。不知何故,服务器不想同时保持一个以上的连接。

有几次我们设法连接了 2 个,然后每当第 3 个连接时,其他下降。

在多个不同的设备上运行所有 ICS+(galaxy nexus、tab2、SGS3)。

我使用的代码与示例非常相似:

服务器端:

    server = new Server();
ServiceData.RegisterKryo(server.getKryo());
server.addListener(new MyServerListener());
try {
server.bind(ServiceData.SERVER_PORT_TCP);
server.start();
} catch (IOException e) {
Log.e(TAG, "IOException. Failed to start server. " + e.getMessage());
MyServer.this.stopSelf();
}

然后是客户端:

final String ip = intent.getExtras().getString(KEY_SERVER_IP);
listener = new MyClientListener();
client = new Client();
client.start();
ServiceData.RegisterKryo(client.getKryo());
client.addListener(listener);
try {
client.connect(5000, ip, ServiceData.SERVER_PORT_TCP);
} catch (IOException e) {
Log.e(TAG, "IOException. Failed to start client. " + e.getMessage() + "\n");
e.printStackTrace();
MyClient.this.stopSelf();
}

此刻的听众只是 Log.v(TAG, "something happened); 而且我还使用 com.esotericsoftware.minlog 启用了 Kryonet 库中的所有日志.Log.set(com.esotericsoftware.minlog.Log.LEVEL_TRACE); 这样我就可以看到它何时连接以及何时断开连接。

断开连接时我收到两条不同的消息:

DEBUG: [kryonet] Connection 3 timed out.

DEBUG: [kryonet] Unable to read TCP from:

真的不确定这里有什么,我们将不胜感激。

编辑:更多信息:我意识到在 INFO: [kryonet] Connection 3 connected:/192.168.0.104 和我的监听器收到 connected 回调之间,大约需要 9 秒!很奇怪。

最佳答案

谁可能会遇到同样的问题。

显然这是一个 Android 限制(可能是强加的,因为它是一个移动设备)

我只是将Server 代码移动到一个普通的Java 应用程序.jar 并让Android 客户端连接到PC,现在一切正常。到目前为止,已测试 6 台设备连接没有问题。

关于android - 一旦客户端 2 连接,Kryonet 就会断开客户端 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14378297/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com