8 초마다 서버로 패킷을 보내는 클라이언트가 있습니다. 서버가 패킷을 너무 빨리 보내면 클라이언트 연결이 끊어지는 것을 감지합니다. 클라이언트에서는 Sleep (8000)을 호출합니다. 패킷을 보내기 전에 서버 측에서는 GetTickCount()를 사용합니다. 패킷 간의 시간을 계산합니다. 나는 이것이 문제없이 작동 할 것으로 기대했지만 계속 연결이 끊어졌습니다. 패킷 타이밍 문제
나는 패킷 시간을 확인하기 위해 WireShark로 사용하고 이것이 내가 가진 무엇 : 패킷 # 시간을 17 8.656064 (72) 16.957240 (115) 24.76474124.764741-16.957240 = 7.807501 < 8 내가 연결있어 이유입니다 . 클라이언트에서 Sleep (8000)을 호출하기 때문에 이것을 이해할 수 없습니다. 8 초마다 패킷을 보내야합니다.
두 번째 패킷은 0.3 초 늦었고 세 번째 패킷은 약 0.2 초 일찍 나타납니다. 시간 내에 이러한 패킷을 보내는 방법이 있습니까?
한 마디로, 아니요. 이것은 완전히 비 결정적인 시스템입니다. 경로에 구성 요소 (및 로트가 있음)에 의한 확실한 보증이있을 수 없습니다. 퍼지 요소를 추가해야합니다. – Nim