我以前曾使用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