2013-07-31 2 views
0

ReceiveAsync.Completed를 사용하여 TCP 소켓에서 데이터를 읽는 동안 데이터가 응용 프로그램에 도착하는 시간과 도착하는 시간 사이에 몇 ms 지연 (1-5ms, 한 번씩)이 발생합니다 기계로. Wireshark를 사용하여 타임 스탬프를 비교하고 PSH 비트가 해당 메시지에 대해서도 켜지 며 애플리케이션이 사용 중이 아니거나 아무것도 차단하지 않습니다. 내가 뭘 놓치고 있니? 감사합니다. .C# ReceiveAsync lag

+0

윈도우가 비 실시간 인 경우 1-5ms 대기가 정상입니다. – user1937198

답변

0

이렇게 작은 지연으로 어디에서나 올 수 있습니다. 가비지 컬렉터가 걷어차는 것은 당신을 그렇게 쉽게 지연시킬 수 있습니다.

Wireshark가 응용 프로그램과 동일한 수준에서 작동하지 않습니다. 그것은 시스템이 조금 더 빨리 그것을 제공하기 때문에 그것은 당신과 다른 시간에 데이터를 얻는 것일 수 있습니다. 아니면 어쩌면 그들의 시간은 꺼져 있습니다. 어쩌면 당신의 시간은 꺼져있을 것입니다. 그러한 작은 차이로 말하기 어렵습니다.

나는 틀린 일을하지 않을 것입니다.

+1

응용 프로그램이 Wireshark 직후에 예약되지 않았거나, 양자 지연이 1 초 미만일 수 있습니다. – user1937198