在Data_Arrival事件下不断接受消息,怎样才能通过timer控件判断两条消息时间差超时(设置为400ms),即超过400ms就判断为另一端断网或断电。急求,谢谢!!!

解决方案 »

  1.   

    不需要用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!");
       } 
    }
      

  2.   

    判断时间差就可以 TimeSpan df = d2.Subtract(d1);