c# - Check connection time out, preferable check using long elapsedTicks or DateTime elapsedTime? -
tcp server send data buffer , mainform receive data buffer , processing
i have parameter check time on lastdatareceive (from tcp) on buffer.
i have paramter check time on datareceivenow (from buffer) on mainform.
now, want calculate elasped time, if lastdatareceive (from tcp) - datareceivenow (from buffer) > 60 seconds, prompt messagebox.show(" connection time out ");
i have 2 method on doing it, don't know 1 gives best result or both same?
1st method: elasped time using datetime format , check condition of 1 second
private void checkconnectiontimeout() { if (datetime.now.subtract(receiver.lastdatareceivedtime).totalseconds > 60) { messagebox.show("connection out"); } else { // ever } }
2nd method: elasped time calculating elapsedticks
private void checkconnectiontimeout() { long datatimeout = (long)timespan.fromticks(receiver.lastdatatick - datareceiveticknow).totalseconds; datetime dt = new datetime(datatimeout); if (dt.second > 60) { messagebox.show("connection out"); } else { // ever } }
neither of recommended, , can dangerous.
instead, use stopwatch
class measure elapsed duration. reference documentation here.
Comments
Post a Comment