2010-05-22 86 views
2

我有一个C++应用程序运行在Windows XP 32系统发送和接收短tcp/ip数据包。发送/接收TCP数据包时16毫秒量化

测量(准确)到达时间我看到到达时间量化为16毫秒时间单位。 (意思是到达是在彼此分开(16)XN毫秒的所有数据包)

为了避免数据包汇聚我试图通过设置IPPROTO_TCP选项插座变量TCP_NODELAY禁用Nagle算法,但它并没有帮助

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

回答

0

使用更高分辨率的计时器,如QueryPerformanceTimer()__rdtsc()意识到他们的downfalls

同样请注意,如果您正在使用等待功能,您可能需要拨打timeBeginPeriod() 1分钟的分辨率,或者甚至实施缠绕更高分辨率计时器的忙路延迟功能。