我正嘗試使用Java TCP服務器和Android客戶端爲Android創建一個基本的多人遊戲。發送TCP數據包時速度慢。當我把Thread.sleep(100),然後它的作品。Java TCP服務器 - 安卓客戶端丟失
服務器側:
for(int i = 0; i<50; i++) {
client.send("test_" + i);
}
客戶剛收到(〜3數據包)
test_0
TEST_1
服務器與睡眠:接收
for(int i = 0; i<50; i++) {
client.send("test_" + i);
Thread.sleep(100);
}
客戶〜45
編輯:客戶端:
while (true) {
if (!running)
break;
inFromServer = new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF-8"), 2 * 1024);
String rawRecervied = inFromServer.readLine();
if (rawRecervied == null) {
close();
break;
}
final String recervied = rawRecervied.substring(2); // for skip utf bom chars
new Thread() {
public void run() {
listener.dataRecervied(recervied);
Log.e("TCP recervied", recervied); // debug
}
}.start();
}
可以粘貼客戶端代碼嗎? – Sid 2012-03-13 19:38:40
添加客戶代碼 – musa 2012-03-13 19:58:00
嘗試BWitched建議在創建BufferedReader之外的while(true) – Sid 2012-03-13 20:25:44