Networking 客户端如何建立对等连接?

Networking 客户端如何建立对等连接?,networking,client-server,p2p,Networking,Client Server,P2p,通常(游戏)客户端建立p2p连接以减少服务器上的延迟和负载 但他们是如何做到的? 这里有一个例子:我打开我的传奇联盟客户端。按“播放”。然后我的客户端将请求发送到服务器以查找游戏。然后服务器用一个玩家列表(ip地址?)进行响应。我的客户端现在连接到每个播放器以减少ping 这就是让我困惑的地方。我和许多其他球员坐在NAT后面。因此,只有当我在路由器上转发一个端口,或者当我将数据发送到一个可访问的服务器(打开一个网站,向游戏服务器发送一个请求)时,互联网上的主机才能向我的计算机发送数据 我和我的对

通常(游戏)客户端建立p2p连接以减少服务器上的延迟和负载

但他们是如何做到的?

这里有一个例子:我打开我的传奇联盟客户端。按“播放”。然后我的客户端将请求发送到服务器以查找游戏。然后服务器用一个玩家列表(ip地址?)进行响应。我的客户端现在连接到每个播放器以减少ping

这就是让我困惑的地方。我和许多其他球员坐在NAT后面。因此,只有当我在路由器上转发一个端口,或者当我将数据发送到一个可访问的服务器(打开一个网站,向游戏服务器发送一个请求)时,互联网上的主机才能向我的计算机发送数据


我和我的对手拥有对方的ip地址,但我们无法相互连接,因为我们的路由器正在阻止连接。

维基百科有一个关于这一点的描述,让您了解如何做到这一点。这篇文章还有一些附加链接。如果没有其他办法,对等方必须使用中继。

其他服务(如xbox live或torrent)是否使用相同的技术?