游戏networking拓扑 – 处理主机离开

我正在做一个Flash游戏的P2P游戏,我想知道什么样的networking拓扑结构对于随机join/离开的人来说是最强大的。 我在想第一个join的用户可能是主机,但是如果主机离开整个会​​话就会被杀死。 我正在寻找一种方法来处理这个没有(或很less)中断。

如果你使用的模型有一个“主机”,你几乎有星形拓扑,但是你打扮。 从该模型中的中央节点的丢失恢复要求所有节点能够在该事件中find彼此(这听起来像是网状拓扑,但是不是),并且它们都具有足够的状态以能够接管主人的角色,或者他们可以重建他们之间的状态。 然后你select一个新的主机,无论你喜欢什么方法(我建议最低平均ping到其余的节点)。

如果主人离开“很好”,你可以做到这一点,而不会中断。 当他们点击退出时,您开始主持人角色转移过程,并在完成后让他们离开。 如果因networking中断,强制退出,断电等原因离开,将会出现中断。

如果您使用实际的网状拓扑结构,每个节点都有自己的完整状态模型,并将所做的更改与其所连接的每个人进行通信,则可避免主机角色及其随之而来的漏洞。 那么有趣的部分是冲突解决 – 解决当两个节点试图传播相互矛盾的变化时会发生什么。