Я пытаюсь создать базовую многопользовательскую игру для Android, используя сервер Java TCP и клиент Android.Проблема в медленной скорости при отправке пакетов TCP.Когда я ставлю Thread.sleep (100), он работает.
на стороне сервера:
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();
}