我目前正在尝试编写一些代码,将请求发送到设备,然后等待响应。问题是响应没有结束字符来指示消息已完成,因此我们只需要等待一段时间即可。
我想做的是发送消息,然后等待一段时间。每次有数据到达时,我都想增加等待的时间,比如再等待 100 毫秒,以防有更多数据要跟随。如果在该时间段之后没有任何消息进来,则假定消息已完成。 这是我想出的伪代码:
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 毫秒时似乎不太准确?
任何关于实现这一点的最佳方法的建议将不胜感激!
问候 阿德里安
最佳答案
考虑使用stopwatch class测量这样的小增量。
关于c# - .NET DateTime 对象不是很准确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4683261/