在一个游戏中使用多个端口的优势是什么?我理解为什么有些游戏会将TCP和UDP用于不同的目的,但为什么有些游戏要使用多个TCP或UDP端口?这样做有什么好处吗?我问这个问题是因为我发现我自己在为我的游戏编写网络代码,我想知道为什么其他人会有多个端口?
例如,GTA V使用5个UDP端口,而阿萨辛斯信条启示录使用4个TCP和4个UDP端口。
发布于 2016-04-13 04:31:03
总会有原因的。
通常,它们并不(完全)是技术性的。例如,一个团队正在开发游戏间聊天功能,而另一个团队正在开发游戏X的服务器-客户端协议。然后他们被集成到同一个产品中,但由于成本、时间限制、对未来可维护性的担忧等原因,没有人担心统一协议。
还有纯粹的技术原因:
如果游戏服务器和聊天服务器运行在不同的位置,使用多个连接是很自然的;另一种选择是在服务器端使用一种反向NAT盒,但这是有风险的,因为它是一个瓶颈和单点故障。
稳定性:如果聊天服务器崩溃或发生故障,您不希望它也导致客户端和游戏服务器之间的数据流中断,因此在并行连接上通信更安全。
总体而言,这是一个理论与实践相结合的经典例子:使用单个端口(和连接)将是很好的,但由于各种原因,分离不同的传输和交互更实用。
有点离题,你有没有注意到现在访问网页时打开了多少连接?通常是几十个。然而,如果没有所有的广告,可能会少一个数量级。无论如何,与此相比,一场游戏打开5个连接算不了什么。
https://stackoverflow.com/questions/36581754
复制相似问题