我以前曾使用Kryonet进行1对1通信,并且它工作得很好。Kryonet在客户端2连接后立即断开客户端1
现在我正在做一个更“标准”的项目,我们将有1个服务器和几个客户端连接到它。
我遇到的问题是在标题中描述:客户端1连接,没有问题。然后我要求客户端2连接并立即断开客户端1。不知何故服务器不想保持多个同时连接。
有几次,我们设法有2连接,然后每当第三次连接其他滴。
在几个不同的设备上运行所有ICS +(星系连接,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);
,我也启用了Kryonet库中的所有日志与com.esotericsoftware.minlog.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秒!很奇怪。
@ Budius你能分享你的应用程序的源代码吗?我想创建一个连接到服务器的应用程序3g – letroll
嗨@letroll我什至不再在那个地方工作。但代码示例等可以在图书馆网站上找到:https://code.google.com/p/kryonet/ – Budius
感谢您的链接,但没有只适用于Android的例子,所以我已经删除了所有的秋千的东西,并用小部件替代它们。但我的示例项目不起作用:( – letroll