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

5

通常(游戏)客户端会建立点对点连接来减少延迟和服务器负载。

但是,它们是如何做到的呢?

这里有一个例子:我打开《英雄联盟》客户端。点击“游戏”。然后我的客户端向服务器发送请求以查找游戏。服务器然后响应一个玩家列表(IP地址?)。现在,我的客户端连接到每个玩家以降低ping。

这就是让我困惑的地方。我和许多其他玩家都在NAT后面。因此,除非我在路由器上转发端口或者向可访问的服务器发送数据(打开网站,向游戏服务器发送请求),否则互联网上的机器无法向我的计算机发送数据。

我和我的对手彼此拥有IP地址,但是我们不能相互连接,因为我们的路由器正在阻止连接。

1个回答

3
维基百科有一篇关于UDP打洞的描述,可以让你了解如何完成它。该文章还包含一些附加链接。如果其他方法都不起作用,对等方必须使用中转。

其他服务,如Xbox Live或Torrent,是否使用相同的技术? - Shylux

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接