Android 在google play游戏实时多人游戏中实现和同步计时器

Android 在google play游戏实时多人游戏中实现和同步计时器,android,timer,real-time,google-play-games,multiplayer,Android,Timer,Real Time,Google Play Games,Multiplayer,我一直在开发一款纸牌游戏,它使用google play实时多人游戏api,允许玩家在纸牌比赛中相互竞争。我已经进入了开发过程的后期阶段,但最近我遇到了一个我希望尽快解决的问题 锦标赛由几轮组成,如果一名选手在一轮比赛中断开连接,其他选手将通过onPeerLeft方法得到通知,比赛结束,其余选手进入下一轮。很简单,但如果用户网络/wifi出现波动或关闭(这在我的国家很常见),多人游戏室仅对该玩家没有响应。有时,它会恢复,但有时不会,游戏只是暂停(当用户转向时) 房间不会断开玩家的连接,如前一篇文章

我一直在开发一款纸牌游戏,它使用google play实时多人游戏api,允许玩家在纸牌比赛中相互竞争。我已经进入了开发过程的后期阶段,但最近我遇到了一个我希望尽快解决的问题

锦标赛由几轮组成,如果一名选手在一轮比赛中断开连接,其他选手将通过
onPeerLeft
方法得到通知,比赛结束,其余选手进入下一轮。很简单,但如果用户网络/wifi出现波动或关闭(这在我的国家很常见),多人游戏室仅对该玩家没有响应。有时,它会恢复,但有时不会,游戏只是暂停(当用户转向时)

房间不会断开玩家的连接,如前一篇文章中第一个答案的评论所述:


因此,如果玩家在15秒内没有移动,我必须做出一个艰难的决定,自动断开玩家的连接(显然,这是一个玩家的网络在网络恢复在线时不再接收来自该房间的消息之前可以关闭的时间限制)。但是google play games的连接是P2P的,我无法建立一个服务器,在轮到每个用户时为他们计时。关于这一困境的任何帮助或指导都是非常需要的。

我想你的客户可以假设,如果玩家在15秒内没有回应,他们会在游戏中忽略他们。我知道将此功能委托给服务器会更好,但如果这不是一个选项,这肯定会起作用。。。。或者,客户端可以请求服务器检查播放机在这个间隔后是否仍然连接,并让它生成一个指示结果的响应?感谢响应,事情是。。。由于某种原因,不活跃的客户机仍会保持“加入”状态一段时间,即使他们再也无法发送和接收来自房间的消息。我在想,每个玩家移动后,他都会检查下一个人,并对他/她计时,如果什么都没有发生,你在第一次评论中提到的,发生了。但是,是的,相信客户不是很酷,我想你的客户可以假设,如果一个玩家在15秒内没有回应,他们会在游戏中忽略他们。我知道将此功能委托给服务器会更好,但如果这不是一个选项,这肯定会起作用。。。。或者,客户端可以请求服务器检查播放机在这个间隔后是否仍然连接,并让它生成一个指示结果的响应?感谢响应,事情是。。。由于某种原因,不活跃的客户机仍会保持“加入”状态一段时间,即使他们再也无法发送和接收来自房间的消息。我在想,每个玩家移动后,他都会检查下一个人,并对他/她计时,如果什么都没有发生,你在第一次评论中提到的,发生了。但是是的,相信客户并不酷