2012-02-27 18 views
2

(游戏)客户端通常建立一个p2p连接以减少服务器的延迟和负载。客户端如何建立点对点连接?

但他们如何做到这一点?

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

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

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

回答

1

维基百科有一个描述UDP hole punching它给你一个想法如何完成。文章有一些额外的链接。如果没有其他工作,同行必须使用中继。

+0

做其他服务,如Xbox Live或洪流使用相同的技术? – Shylux 2012-02-29 08:07:43

相关问题