客户端如何建立点对点连接?

时间:2012-02-27 14:24:08

标签: networking client-server p2p

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

但他们是如何做到的?

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

这让我很困惑。我和许多其他玩家都坐在NAT后面。因此,如果我转发路由器上的端口或将数据发送到可访问的服务器(打开网站,向游戏服务器发送请求),来自互联网的机器只能将数据发送到我的计算机。

我和我的对手拥有彼此的IP地址但我们无法相互连接,因为我们的路由器阻止了连接。

1 个答案:

答案 0 :(得分:1)

维基百科有UDP hole punching的描述,让您了解如何做到这一点。这篇文章有一些额外的链接。如果没有其他工作,同伴必须使用中继。

相关问题