在游戏中使用多个端口有什么好处?我理解为什么有些游戏会将TCP和UDP结合起来用于不同的目的,但为什么有些游戏会使用多个TCP或UDP端口?这有什么好处吗?我问是因为我发现自己在为我的游戏制作网络代码,我想知道为什么其他人会走出去拥有多个端口?
例如,GTA V使用5个UDP端口,而Assasins Creed Revolutions使用4个TCP和4个UDP端口。

最佳答案

总是有原因的。
它们往往不是(完全)技术性的。例如,一个团队正在开发游戏间聊天功能,而另一个团队正在开发游戏x的服务器-客户端协议。然后,他们被集成到同一个产品中,但是没有人因为成本、时间限制和对未来可维护性的担忧而费心统一协议。等。
也有纯粹的技术原因:
如果游戏服务器和聊天服务器在不同的位置上运行,那么使用多个连接是很自然的;另一种选择是在服务器端使用一种反向的NAT框,但这是一种风险,因为它是一个瓶颈和单点故障。
稳定性:如果聊天服务器崩溃或出现故障,您不希望它也会导致客户端和游戏服务器之间的数据流下降,因此在并行连接上进行通信更安全。
总的来说,这是一个理论与实践相结合的经典例子:使用一个端口(和连接)会很好,但由于各种原因,分离不同的传输和交互更为实际。
有点离题,你注意到现在访问网页时打开了多少连接吗?通常是几十个。如果没有所有的广告,可能会减少一个数量级。无论如何,与之相比,一个游戏打开5个连接就什么都不是了。

09-10 09:52
查看更多