Google Play服务多人播放器的连接

时间:2018-09-09 15:42:46

标签: java android google-play-services

我的问题是我不知道如何判断玩家何时断开连接。

所以我的游戏包含2位玩家,游戏本身可以正常工作,当一位玩家按预期离开游戏或在管理器中关闭应用程序时,一切都很好,但是当一位玩家失去互联网连接时,什么也没发生。我通过在一个播放器的设备上禁用Internet连接来进行尝试。

当一个玩家离开游戏时,RoomStatusUpdateCallback会按以下顺序调用方法:1。onDisconnectedFromRoom 2。onPeerLeft 3。onPeersDisconnected,但是当一个玩家玩时失去互联网连接时叫做。我想知道一名球员何时失去联系。

我相信有些类似ConnectivityManager的东西,所以我可能可以在一个玩家的设备上使用它,但是当RoomStatusUpdateCallback什么都没说时,第二个玩家怎么知道第一个失去了联系?

1 个答案:

答案 0 :(得分:1)

只要播放器断开网络连接或服务器问题,参与者的连接状态就不会更改,除非您打电话离开会议室。当其他播放器断开连接时,您可以使用RoomStatusUpdateListener方法监视房间内参与者的连接状态,如下所示:

1。onDisconnectedFromRoom
2。onPeerLeft
3。onPeersDisconnected

有关处理房间创建错误的完整信息,documentation

我认为您可以尝试在客户端上实现自定义观察者计时器,该客户端将反复ping其他对等端,以查看它们是否仍处于连接状态。