【发布时间】:2011-07-23 17:02:28
【问题描述】:
考虑典型的多人游戏服务器。
允许连接到服务器的客户端下载地图和脚本。创建 TCP 连接来完成此操作很简单。
但是,服务器必须继续通过 UDP 响应其余客户端。如果允许 TCP 下载连接使可用带宽饱和,则 UDP 流量将严重遭受丢包的影响。
处理此问题的最佳方法可能是什么?通过跟踪时间和send() 在固定的时间间隔以某种方式“限制” TCP 上传连接,这绝对是一个好主意。这样,如果 UDP 数据包丢失开始更频繁地发生,则 TCP 连接可能会受到进一步限制。操作系统是否仍倾向于将数据捆绑在一起而不是稳定地发送出去?我想多久拨打一次send()?我想这样做太频繁会导致数据被缓冲在一起,首先使该方法无效,并且太不频繁地这样做会导致带宽不足(并且使用效率低下)。对于每次向send 发送多少数据,也存在类似的考虑。
【问题讨论】:
标签: networking tcp udp