我有一个networking应用程序,需要每秒发送60次的消息。 这些消息通常是300-400字节,但可以大到1500. SO_SNDBUF的默认设置太小,如果networking延迟大于100毫秒,限制可发送消息的数量。
天真的解决scheme是只是将SO_SNDBUF大小碰到一些大的东西。 但是,取决于延迟和数据包大小,可能在64K到8MB之间。
Vista的新function之一是TCP自动调整。 自动调整监视tcp连接并dynamic调整缓冲区大小以实现最佳通信。
我想在我们的Windows XP机器上使用自动调整,所以我不需要猜测我的缓冲区大小应该是什么。
有没有办法在windows xp上安装微软或第三方的tcp autotuner?
听起来像你可能通过TCP发送数据,应通过UDP , RTSP / RTP或SCTP发送 。 TCP不适用于对时间敏感的数据stream,它意味着保证交付(最终;或者至less报告交付失败)。