2010-05-22 71 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分鐘的分辨率,或者甚至實施纏繞更高分辨率計時器的忙路延遲功能。