我的实时网络接收时间差异很大,任何人都可以提供帮助吗?

时间:2010-05-06 02:10:12

标签: networking network-programming

我使用tcpip套接字编写了一个程序,用于向设备发送命令并从设备接收数据。数据大小约为200kB到600KB。计算机使用100MB网络直接连接到设备。我发现发送数据包总是以100MB / s的速度到达计算机(我在设备上有调试信息,我也使用一些网络监控软件验证了这一点),但接收时间差别很大,从40ms到250ms,即使大小是相同的(我有一个约700K的接收缓冲区和8092字节的接收窗口,并改变窗口大小不会改变任何东西)。这种现象在不同的​​计算机上也有所不同,但在同一台计算机上,问题非常稳定。例如,在计算机a上接收300k字节将是40ms,但在另一台计算机上可能花费200ms。 我已禁用防火墙,防病毒,除TCP / IP以外的所有其他网络协议。任何专家都能给我一些提示吗?

1 个答案:

答案 0 :(得分:2)

我找到了这个问题的答案。问题是由Nagle算法引起的最后一个片段包之前的偶数/奇数个数据包。

查看非常有用的链接: http://www.stuartcheshire.org/papers/NagleDelayedAck/