如何判断两条消息到达时间差超没超时?

xiaofeng54 2010-02-05 12:28:49
在Data_Arrival事件下不断接受消息,怎样才能通过timer控件判断两条消息时间差超时(设置为400ms),即超过400ms就判断为另一端断网或断电。急求,谢谢!!!
...全文
57 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不需要用Timer

datatime firsttime=default(datetime);//全局变量
bool checkTime(datatime secondTime)
{
timespan ts=secondTime-firstTime;
if(ts.TotalSeconds>=XXX)
{
throw new Excption("超时");
return false; }
else
{
firstTime=secondTime;//更新上次接受数据时间
return true;
}
}

void Data_Arrival()
{
byte[] buffer=RevData();
if(buffer.Length>0)//如果接受到正常数据就检查时间
{
if(!checkTim(DateTime.Now))
throw new Exception("timeout!");
}
}
hnjzjdd 2010-02-05
  • 打赏
  • 举报
回复
0.0.0.0.0
睡神在睡觉 2010-02-05
  • 打赏
  • 举报
回复
减法。。。。
fengling2001 2010-02-05
  • 打赏
  • 举报
回复
判断时间差就可以 TimeSpan df = d2.Subtract(d1);

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧