2

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

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

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

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

如果房间创建者断开连接,并且可以进行上一页,那么重新连接后他仍然是该游戏的创建者吗?

4

1 回答 1

3

第一个警告是实时多人 API 并不真正适用于回合制游戏。因此,如果有人从房间里掉出来,他们就不能被重新添加;此外,如果您的活动进入后台,您将无法留在房间内。现在,要解决这个问题:

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

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

  3. 没有“房主”之类的东西——它是一个 P2P 对称网络。如果玩家 A 创建房间并邀请玩家 B 和玩家 C,则玩家 A 可以离开房间,房间仍然为玩家 B 和 C 工作。不要求房间的创建者留在房间里。

希望这可以帮助!

于 2013-10-07T21:58:25.270 回答