google-play-games - 当对等方与 Google Play 服务中的房间断开连接时

标签 google-play-games

对等点断开连接与对等点离开房间有什么不同。

如果参与者与房间断开连接,他的状态会是什么? STATUS_JOINED 还是 STATUS_LEFT?

我正在开发一款相当长的回合制游戏(应该是几分钟的游戏),我相信会有很多我想解决的断开连接情况。

是否可以向已断开连接的用户重新发送邀请并让他返回房间?

如果房间创建者断线,并且预览是可能的,那么在重新连接后他仍然是该游戏的创建者吗?

最佳答案

首先需要注意的是,实时多人游戏 API 并不真正适用于回合制游戏。因此,如果有人从房间中删除,则无法重新添加;此外,如果您的事件进入后台,您将无法留在房间中。现在,回答这个问题:

  1. 如果参与者离开房间,他们的状态为 STATUS_LEFT。如果他们在房间中但尚未到达(即玩家尚未成为 P2P 连接图的一部分),则他们可能处于 STATUS_JOINED 状态,但尚未连接。此外,由于存在错误,您可能会看到某个参与者的状态为 STATUS_LEFT,但仍报告为已连接。因此,在检查参与者是否“真的在那里”的逻辑中,您应该检查他们是否处于 STATUS_JOINED 状态并且已连接(不仅仅是其中之一)。

  2. 您无法向已断开连接的用户重新发送邀请以让他们返回房间。但如果所有玩家都有游戏状态,那么没有什么可以阻止你从头开始 build 一个新房间来继续游戏。当然,这不适用于自动匹配(因为您无法请求与旧房间具有相同参与者的新房间),但当玩家与圈子中的 friend 一起玩时,这会起作用。

  3. 不存在“房间所有者”这样的东西——这是一个 P2P 对称网络。如果玩家 A 创建了房间并邀请了玩家 B 和玩家 C,则玩家 A 可以离开该房间,并且该房间仍然对玩家 B 和 C 有效。不要求房间的创建者留在房间中。

希望这有帮助!

关于google-play-games - 当对等方与 Google Play 服务中的房间断开连接时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19202066/

相关文章:

java - 导出签名的apk后出现登录失败错误

Android Google Play 服务回合制多人游戏如何将邀请者的游戏设置传递给被邀请者?

android - 简化 Android 游戏中的 Facebook 和 Google Play 游戏服务集成

android - 如何将 APK 发布到 Google 开发者控制台

android - 在 Google Play 多人游戏中邀请回合制比赛时,有什么方法可以传递信息吗?

java - 无法登录。Google Play 游戏 Libgdx

java - 尝试使用 LibGDX 登录 GooglePlay 游戏服务时出现 "signInSilently(): failure"

android - 如何旋转 GamesClient 的弹出窗口

android - Google Play 服务在我的 Android 游戏中无法正常运行

java - Google Play 游戏成就 onClose 回调