gpt4 book ai didi

networking - 防止TCP连接导致UDP丢包

转载 作者:可可西里 更新时间:2023-11-01 02:47:42 28 4
gpt4 key购买 nike

考虑原型(prototype)多人游戏服务器。

允许连接到服务器的客户端下载 map 和脚本。创建 TCP 连接来完成此操作很简单。

但是,服务器必须继续通过 UDP 响应其余客户端。如果允许 TCP 下载连接使可用带宽饱和,UDP 流量将遭受严重的数据包丢失。

处理此问题的最佳方法可能是什么?通过跟踪时间以某种方式“限制”TCP 上传连接似乎绝对是个好主意,并在固定的时间间隔内发送 send()。这样,如果 UDP 数据包丢失开始更频繁地发生,则 TCP 连接可能会进一步受到限制。操作系统是否仍倾向于将数据捆绑在一起而不是源源不断地发送出去?我希望多久调用一次 send()?我想这样做太频繁会导致数据首先被缓冲在一起,从而使该方法无效,而太不经常这样做会提供带宽不足(且使用效率低下)。关于每次要发送 的数据量,也存在类似的考虑。

最佳答案

这听起来很像是您在以错误的方式解决问题:

  1. 如果您担心丢失 UDP 数据包,您应该考虑不使用 UDP。
  2. 如果您担心在两个函数之间共享带宽,您应该考虑为它们设置单独的管道(带宽)。
  3. 流量调整(听起来就是这个意思)通常在操作系统中解决。在对您的应用程序进行奇怪的更改之前,您应该朝那个方向看。
  4. 如果您尚未使应用程序正常运行并遇到此问题,则您可能过早地进行了优化。

关于networking - 防止TCP连接导致UDP丢包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5446302/

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