如何处理完全连接的点对点架构中的断开连接?

时间:2019-03-05 08:16:45

标签: networking udp p2p disconnect peer

我目前正在开发一款游戏,正在考虑实现本文所述的网络架构:http://www.gamasutra.com/view/feature/131503/1500_archers_on_a_288_network_.php

为了使本文中描述的实现正常工作,所有对等方都必须互连,没有任何例外。像这样:

A "star" configuration of peer-to-peer clients in a session.

一切正常时,这可以很好地工作。但是我想知道如何在这样的网络中就断开连接达成一致。 (可悲的是,这篇文章没有涉及到)。 如果一个客户失败了,这相对容易。只需为每个客户端设置一个超时时间,如果某个客户端在一定时间内未响应,则会将其从该客户端中删除。

但是,系统应如何解决一个客户端不响应另一客户端但仍然响应所有其他客户端的情况。在这样的系统中,可能发生以下情况,导致无效状态: Invalid state 当然,这可以通过为客户之一提供某种“主”角色来解决。它是唯一可以决定是否断开其他客户端连接的服务器。但是我想知道是否可以在纯p2p网络中实现。

注意:我意识到这种情况并非“自然”发生的。但是我想防止玩家通过使用例如防火墙这样的技巧来破坏他人的网络游戏。

提前感谢您的回答!

0 个答案:

没有答案