考虑原型多人游戏服务器。防止TCP连接导致UDP数据包丢失
连接到服务器的客户端可以下载地图和脚本。创建一个TCP连接来实现这一点很简单。
但是,服务器必须通过UDP继续响应其他客户端。如果允许TCP下载连接饱和可用带宽,则UDP流量将严重受到数据包丢失的影响。
什么可能是解决此问题的最佳方法?这绝对是一个好主意,可以通过跟踪时间来“节流”TCP上传连接,并且按照固定的时间间隔进行“上传”。这样,如果UDP数据包丢失开始更频繁地发生,则TCP连接可能会进一步受到限制。操作系统是否仍然倾向于将数据集中在一起,而不是稳定地发送数据?我多久会打电话给send()
?我认为经常这样做会导致数据被缓冲到一起,从而导致该方法无效,并且过于频繁地执行会导致带宽不足(并且效率低下)。关于每次有多少数据到send
存在类似的考虑。
关于第4点,您可能是正确的。我将在开发过程中更适当的位置重新讨论此主题。 – 2011-03-27 02:25:15
关于第3点也是如此:) – scherand 2011-03-28 09:31:00
对于函数,“具有独立管道”是什么意思?这是否意味着有多个互联网连接?还是有另一种方式? – Meta 2016-09-23 19:39:15