【发布时间】:2010-10-07 14:43:13
【问题描述】:
我需要测量收到最后一个数据包与新数据包到达之间的时间差。我曾尝试在 C# 中使用 Timer 类:
while (listening)
{
if (hB != null)
{
interval = hB.GetHBInterval();
aTimer = new System.Timers.Timer(interval+5);
Console.WriteLine("Interval is: {0}", interval);
byte[] bytes = listener.Receive(ref groupEP);
DecodeUDPMessage(Encoding.UTF8.GetString(bytes, 0, bytes.Length));
}
else
{
byte[] bytes = listener.Receive(ref groupEP);
DecodeUDPMessage(Encoding.UTF8.GetString(bytes, 0, bytes.Length));
}
}
我最初拥有它是为了在间隔时间长度之后计时器经过时调用一个事件。但是意识到定时器会等待间隔的长度再调用事件。我需要弄清楚的是,我能否计算出最后一个数据包到达的时间和新数据包到达的时间的区别。如果可以的话,我需要根据间隔值对其进行评估,如果它更大,则调用另一个可以做一些工作的方法。
我的大脑已经死去试图弄清楚这一点,所以任何帮助都将不胜感激。
【问题讨论】: