【问题标题】:16 millisecond quantization when sending/receivingtcp packets发送/接收 tcp 数据包时的 16 毫秒量化
【发布时间】:2010-05-22 07:44:23
【问题描述】:

我有一个在 windows xp 32 系统上运行的 C++ 应用程序发送和接收短 tcp/ip 数据包。

测量(准确)到达时间我看到到达时间量化为 16 毫秒时间单位。 (意味着所有到达的数据包都在 (16 )xN 毫秒内相互分离)

为了避免数据包聚合,我尝试通过在套接字变量中将 IPPROTO_TCP 选项设置为 TCP_NODELAY 来禁用 NAGLE 算法,但它没有帮助

我怀疑问题与也有 16 毫秒时钟的 windows schedular 有关。 任何想法解决这个问题? 谢谢

【问题讨论】:

    标签: tcp latency


    【解决方案1】:

    使用更高分辨率的计时器,例如 QueryPerformanceTimer()__rdtsc(),以了解他们的 downfalls

    同样请注意,如果您正在使用等待函数,您可能希望调用 timeBeginPeriod() 以获得 1 毫秒的分辨率,或者甚至实现一个围绕更高分辨率计时器的忙路延迟函数。

    【讨论】:

      猜你喜欢
      • 2011-09-13
      • 2013-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-28
      • 1970-01-01
      • 2020-06-22
      • 1970-01-01
      相关资源
      最近更新 更多