我的问题是我不知道如何判断玩家何时断开连接。
所以我的游戏包含2位玩家,游戏本身可以正常工作,当一位玩家按预期离开游戏或在管理器中关闭应用程序时,一切都很好,但是当一位玩家失去互联网连接时,什么也没发生。我通过在一个播放器的设备上禁用Internet连接来进行尝试。
当一个玩家离开游戏时,RoomStatusUpdateCallback
会按以下顺序调用方法:1。onDisconnectedFromRoom
2。onPeerLeft
3。onPeersDisconnected
,但是当一个玩家玩时失去互联网连接时叫做。我想知道一名球员何时失去联系。
我相信有些类似ConnectivityManager
的东西,所以我可能可以在一个玩家的设备上使用它,但是当RoomStatusUpdateCallback
什么都没说时,第二个玩家怎么知道第一个失去了联系?
答案 0 :(得分:1)
只要播放器断开网络连接或服务器问题,参与者的连接状态就不会更改,除非您打电话离开会议室。当其他播放器断开连接时,您可以使用RoomStatusUpdateListener
方法监视房间内参与者的连接状态,如下所示:
1。onDisconnectedFromRoom
2。onPeerLeft
3。onPeersDisconnected
有关处理房间创建错误的完整信息,documentation。
我认为您可以尝试在客户端上实现自定义观察者计时器,该客户端将反复ping其他对等端,以查看它们是否仍处于连接状态。