gpt4 book ai didi

networking - 混合 TCP 和 UDP

转载 作者:可可西里 更新时间:2023-11-01 02:31:24 25 4
gpt4 key购买 nike

我想制作一款在 Internet 上运行的多人游戏,而不仅仅是像 LAN 这样的低延迟、高吞吐量环境。

在我的游戏的某些网络方面,UDP 显然更适合,例如传输有关各个玩家的位置和速度的信息。必须尽快接收此数据,重新发送丢失的数据包无济于事,因为该数据到达客户端时已无关紧要。丢弃一些数据包是完全可以的。

但是,我的游戏还有一些其他方面严格要求按顺序、保证交付。数据包的自动分段(将大块数据分开并放回原处)也将非常有用。似乎 TCP 完成了所有这些工作。除非严格按顺序并且没有丢失数据包,否则数据根本没有用。在某些情况下,此类数据的延迟将不可避免地受到影响,但这是不可避免的。

因此,与其在 UDP 之上实现类似 TCP 的功能(使用数据缓冲区、用数字标记数据包以确定其顺序、数据包确认系统),还需要大量工作来确保它正常工作,并且高效,我想同时使用 TCP 和 UDP。

不过,听说同时使用TCP和UDP会争带宽,使用TCP会增加UDP丢包率。这是真的吗?混合使用这两种协议(protocol)时,还有其他我必须处理的问题吗?

最佳答案

您可以检查 http://www.zeromq.org/ , 一个很好的开源智能传输层库。

关于networking - 混合 TCP 和 UDP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10000437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com