현재 장치에 요청을 보내고 응답을 기다리는 코드를 작성하려고합니다. 문제는 응답이 메시지가 완료되었음을 나타내는 종료 문자가 없기 때문에 일정 기간 기다려야한다는 것입니다..NET DateTime 객체가 그다지 정확하지 않습니까?
내가하고 싶은 것은 메시지를 보낸 다음 일정 시간 기다리는 것입니다. 데이터가 도착할 때마다 나는 또 다른 100ms를 기다리면서 기다리는 시간을 늘리고 싶습니다. 따라야 할 데이터가 더 있습니다. 그 기간이 지나도 아무것도 나오지 않으면 메시지가 완료되었다고 가정합니다.
var waitTime
Function SendData(data)
{
send the request here and then block with the next code
while (waitTime)
{
//wait
}
}
Function RecieveData(data)
{
Assign new data to a buffer
waitTime++
}
같이 sendData 및 RecieveData 함수는 클래스 내에서 다른 스레드에 모두 : 이 내가 생각 해낸 의사 코드입니다. 나는 이것을 C#에서 코딩하고있다. DataTime 객체로 구현하려고 시도했지만 밀리 초의 10/100으로 작업 할 때 매우 정확하지 않은 것 같습니다.
이 기능을 구현하는 가장 좋은 방법은 무엇입니까?
감사 아드리안
단순히 절전 모드로 전화하는 대신 바쁜 대기중인 이유가 있습니까? –
이 답변 (http://stackoverflow.com/questions/4212611/raise-event-in-high-resolution-interval-timer/4213950#4213950)이 관심의 대상 일 수 있습니다. – JYelton
참조 : http://blogs.msdn.com/b/ericlippert/archive/2010/04/08/precision-and-accuracy-of-datetime.aspx –