在游戏中使用多个端口有什么好处?

时间:2016-04-12 18:55:56

标签: networking tcp udp

在游戏中使用多个端口有什么好处?我理解为什么有些人会将TCP和UDP组合用于不同目的,但为什么有些游戏会使用多个TCP或UDP端口呢?这有什么好处吗?我问的是因为我发现自己正在为我的游戏制作网络代码,我想知道为什么其他人会在那里拥有多个端口?

例如,GTA V使用5个UDP端口,Assasins Creed Revelations使用4个TCP和4个UDP端口。

1 个答案:

答案 0 :(得分:4)

总有一个理由。

他们通常不是(完全)技术性的。例如,一个团队正在开发游戏间聊天功能,而另一个团队正在研究游戏X的服务器 - 客户端协议。然后将它们集成到同一产品中,但由于成本,时间限制,问题,没有人会因为协议统一而烦恼关于未来的可维护性等。

纯粹出于技术原因:

如果游戏服务器和聊天服务器在不同的位置运行,则很自然地使用多个连接;另一种方法是在服务器端使用一种反向NAT盒,但它存在风险,因为它是一个瓶颈和单点故障。

稳定性:如果聊天服务器崩溃或出现故障,您不希望它也在客户端和游戏服务器之间关闭流,因此在并行连接上进行通信更安全。

总的来说,它是理论与实践的典型例子:使用单个端口(和连接)会很棒,但出于各种原因分离不同的传输和交互更为实际。

有点偏离主题,您是否注意到现在访问网页时打开了多少个连接?这通常是几十个。没有所有广告,可能会减少一个数量级。无论如何,相比之下,打开5个连接的游戏一无所获。