我使用的实时多人从这里创建Android游戏:
https://developers.google.com/games/services/android/realtimeMultiplayer
Android的实时多人通知连接丢失
如果两个玩家都连接到一个房间,其中一人的Internet连接被中断,我希望其他玩家得到通知。
目前我没有看到任何在与其他玩家的连接丢失时被调用的监听器。
有什么办法可以管理这个吗?
我使用的实时多人从这里创建Android游戏:
https://developers.google.com/games/services/android/realtimeMultiplayer
Android的实时多人通知连接丢失
如果两个玩家都连接到一个房间,其中一人的Internet连接被中断,我希望其他玩家得到通知。
目前我没有看到任何在与其他玩家的连接丢失时被调用的监听器。
有什么办法可以管理这个吗?
我已经用在活动中实现RealTimeMultiplayer.ReliableMessageSentCallback
接口,并以下列方式使用替代方法此
@Override
public void onRealTimeMessageSent(int statusCode, int tokenId, String recipientParticipantId) {
switch (statusCode) {
case GamesStatusCodes.STATUS_OK:
messageSent = true;
break;
case GamesStatusCodes.STATUS_REAL_TIME_ROOM_NOT_JOINED:
break;
case GamesStatusCodes.STATUS_REAL_TIME_MESSAGE_SEND_FAILED:
messageSent = false;
break;
}
}
,但仍是GamesStatusCodes.STATUS_REAL_TIME_MESSAGE_SEND_FAILED
被称为后说15到30秒后
创建一个监听和检查网络变化
// Indicates the state of Wi-Fi P2P connectivity has changed.
intentFilter.addAction(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION);
已经在使用,看起来有两个玩家之间有一对一的比赛,说玩家1失去了连接可以使用你的解决方案,但是有网络连接的其他播放器(播放器2)需要知道播放器1是否失去连接 –
这是一个解决方法,但你试试
您可以重复发送来自玩家的按摩,以确保 ,球员都连接到网络的每一个说1000 毫秒,
如果你没有为说2000毫秒得到一个消息,那么有 可能是其他玩家的错误末端
欢迎来到StackOverflow!请阅读[我如何问一个好问题?](http://stackoverflow.com/help/how-to-ask) –
到目前为止,你做了什么?你能发布你的代码吗?解释你是如何遇到你正试图解决的问题的。 –
@ d.datul1990我正在实现具有onPeersDisconnected()和onP2PDisconnected()方法的接口RoomStatusUpdateListener,但是当播放器断开连接时,将不会调用这些方法。这些方法仅在用户手动退出游戏(房间)时调用,但在无线/移动数据关闭的情况下不会被调用 –