Подключение многопользовательского плеера Google Play Services - PullRequest
0 голосов
/ 09 сентября 2018

Моя проблема в том, что я не понимаю, как определить, когда игрок отключен.

Таким образом, моя игра включает в себя 2 игроков, сама игра работает, когда один игрок покидает игру, как задумано, или закрывает приложение в менеджере, все в порядке, но когда, скажем, один игрок теряет подключение к Интернету, ничего не происходит. Я попробовал это, отключив интернет-соединение на устройстве одного игрока.

Когда один из игроков выходит из игры, RoomStatusUpdateCallback вызывает методы в следующей последовательности: 1. onDisconnectedFromRoom 2. onPeerLeft 3. onPeersDisconnected, но когда один из игроков теряет подключение к Интернету, ничего не вызывается. Я хотел бы знать, когда один из игроков теряет связь.

Я считаю, что есть что-то вроде ConnectivityManager, поэтому я, вероятно, могу использовать это на устройстве одного игрока, но как второй игрок узнает, что первый потерял соединение, когда RoomStatusUpdateCallback ничего не говорит?

1 Ответ

0 голосов
/ 11 сентября 2018

Всякий раз, когда игрок отключается от сетевого подключения или проблемы с серверами, состояние подключения участника не меняется, пока вы не позвоните, чтобы покинуть комнату.Вы можете просто следить за состоянием соединения участников в комнате, используя методы RoomStatusUpdateListener следующим образом, когда другой игрок отключен:

1. onDisconnectedFromRoom
2. onPeerLeft
3.onPeersDisconnected

См. Полную документацию по обработке ошибок при создании комнаты.

Я думаю, вы можете попытаться внедрить пользовательских таймеров-наблюдателей на клиентахэто будет неоднократно пинговать других пиров, чтобы видеть, все ли они связаны.

...