我正在使用RealTime Multiplayer从这里创建Android游戏:
https://developers.google.com/games/services/android/realtimeMultiplayer
如果两个玩家连接到一个房间,并且其中一个玩家的互联网连接正在中断,我希望其他玩家收到通知。
目前我没有看到任何与其他玩家的连接丢失时被调用的侦听器。
有没有办法管理这个?
答案 0 :(得分:3)
我使用了活动中实现的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;
}
}
但是在15到30秒之后仍然会调用GamesStatusCodes.STATUS_REAL_TIME_MESSAGE_SEND_FAILED
答案 1 :(得分:2)
这是一种解决方法但是你试试,
您可以反复向两位球员发送按摩以确保 玩家连接到网络说每1000个 毫秒,
如果您没有收到2000毫秒的消息,那么那里 可能是其他玩家的错误
答案 2 :(得分:0)
创建一个侦听器并检查网络更改
// Indicates the state of Wi-Fi P2P connectivity has changed.
intentFilter.addAction(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION);