我正在为两名玩家开发一款简单的游戏,其中包括由Google Play服务和libGDX框架提供的实时多人游戏。基本上我使用谷歌的tutorial的代码片段。当玩家通过邀请进行连接时,实时消息不起作用
当玩家通过自动匹配功能进行连接时,所有功能都完美无缺,但是当我尝试接受邀请时,出现了问题。所有必要的回调被称为状态码STATUS_OK,但接受邀请的玩家不能向其他玩家发送可靠的消息。虽然玩家谁发送这个邀请可以发送消息,他们到达第二个设备。
是否有任何关于GPGS + libGDX的已知问题?在这种情况下,线程可能很重要(我称之为Games.RealTimeMultiplayer.join()
等方法的线程)?
我很确定我所有的代码与上面的链接类似,因为我甚至试图从头开始使用GPGS + libGDX实现一个新的应用程序,但未能将此功能添加到我的现有游戏中。
而且我已经在多个设备上测试了我的应用程序,并始终得到了相同的:
- 自动匹配 - 一切就好了;
- 邀请 - 仅在“单向”方向工作:受邀者无法发送消息,但可以很好地接收消息,在日志或回调中没有错误。
08-11 18:35:52.219 14173-14173/com.teremok.taptapparty D/PartyRoomUpdateListener: onJoinedRoom - success 08-11 18:35:52.219 14173-14173/com.teremok.taptapparty D/PartyRoomUpdateListener: Room participants: 08-11 18:35:52.219 14173-14173/com.teremok.taptapparty D/PartyRoomUpdateListener: HateCrub - p_CMCMr4mRp_K63QEQAQ 08-11 18:35:52.219 14173-14173/com.teremok.taptapparty D/PartyRoomUpdateListener: AlexeyGorovoy - p_CMCMr4mRp_K63QEQAg 08-11 18:35:52.219 14173-14173/com.teremok.taptapparty D/PartyRoomStatusUpdateListener: onPeerJoined - [p_CMCMr4mRp_K63QEQAQ] 08-11 18:35:53.979 14173-14173/com.teremok.taptapparty D/PartyRoomStatusUpdateListener: onP2PConnected - p_CMCMr4mRp_K63QEQAQ 08-11 18:35:54.419 14173-14173/com.teremok.taptapparty D/PartyRoomStatusUpdateListener: onConnectedToRoom 08-11 18:35:54.429 14173-14173/com.teremok.taptapparty D/PartyRoomStatusUpdateListener: onPeersConnected - [p_CMCMr4mRp_K63QEQAQ] 08-11 18:35:54.439 14173-14173/com.teremok.taptapparty D/PartyRoomUpdateListener: onRoomConnected - success 08-11 18:35:54.439 14173-14173/com.teremok.taptapparty D/AndroidMultiplayer: sending message: hello#AlexeyGorovoy# 08-11 18:35:54.439 14173-14173/com.teremok.taptapparty D/AndroidMultiplayer: message sent failed - network error (STATUS_REAL_TIME_MESSAGE_SEND_FAILED) 08-11 18:35:54.779 14173-14173/com.teremok.taptapparty D/PartyMessageReceiver: onMessageReceived: hello#HateCrub#
在这个片段中,你可以看到那个房间连接,其他同行连接等等,但随后这个球员不能发送:从球员谁接受邀请角度
输出例一条消息,但成功接收一条消息。
你有任何错误日志吗?从此[文档](https://developers.google.com/games/services/common/concepts/realtimeMultiplayer#sending_game_data),请确保参与者只能在连接到房间时收到消息。 – abielita
两位参与者都没有错误连接。 (正如我在调试时看到的) – AlexeyGorovoy
另外,如在日志中显示的那样 - 参与者之一只能接收消息,而不能发送。 – AlexeyGorovoy