Хорошо. Я получаю пакет один раз, но его блок срабатывает дважды. Например:
У меня есть такой блок:
if (object instanceof InitTheGame) {
System.out.println("STARTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT");
awaitOpponent.dismiss();
isInQueue = false;
matchRunning = true; // handles the while loop inside the thread that sends data to the server
isInMatch = true; // handles view (checks for this if we exit the app)
// new GamePacketSender().start();
casualGameHolder.gameLoop.start();
new Sensor(act, casualGameHolder.gameLoop);
touchListener = new TouchListener(casualGameHolder.gameLoop);
this_layout.setOnTouchListener(touchListener);
act.runOnUiThread(new Runnable() {
public void run() {
GameStartCountdown countdown = new GameStartCountdown(4000,1000);
countdown.start();
countdownDialog = new Dialog(act);
countdownDialog.show();
countdownDialog.setCancelable(false);
}
});
}
В консоли (LOG_TRACE) я вижу, что пакет был получен ОДИН РАЗ, но System.out «STARTTTTTTTTTTTTTTTTT» отображается дважды, дважды отображается обратный отсчет и т. д.
Я не хочу публиковать весь код, потому что он огромный и сложный для понимания. Может ли это быть вызвано переполнением буфера на сервере, а может тем, что у меня КАК-ТО два соединения открыты одновременно на одном устройстве? Если есть опытный человек с Kryonet, буду признателен за помощь.