2013-06-18 13 views
8

Jaki jest domyślny czas pingowania? Używam poniższego kodu do wysyłania poleceń ping do urządzeń tcp. Kiedy IPStatus spada do limitu czasu?Domyślny czas oczekiwania na pingowanie

private static void ApplyPing(Topology.Runtime rt) 
{ 
    try 
    { 
     if (rt.TcpClient != null) 
     { 
      string ip = rt.Ip; 
      if (new Ping().Send(ip).Status != IPStatus.Success) 
      { 
       Service.WriteEventLog(string.Format("{0} ping error.", ip), EventLogEntryType.Warning); 
       rt.Disconnect(); 
      } 
     } 
    } 
    catch (ArgumentNullException ex) 
    { 

    } 
    catch (Exception ex) 
    { 
     Service.WriteEventLog(ex, EventLogEntryType.Error); 
    } 
} 

Dziękuję.

+0

Co mierzyć? – GolezTrol

Odpowiedz

16

Od MSDN here i here

Metoda czeka pięć sekund na komunikat odpowiedzi echa ICMP. Jeśli nie otrzyma odpowiedzi w tym czasie, metoda zwraca, a właściwość Status jest ustawiona na TimedOut.

A jeśli możemy sprawdzić w reflektorze, rzeczywiście widzimy:

public PingReply Send(string hostNameOrAddress) 
{ 
    return this.Send(hostNameOrAddress, 5000, this.DefaultSendBuffer, null); 
} 
+0

Czy istnieje sposób na przesłonięcie wartości 5 sekund? –

+0

@Harold_Finch nie AFAIK –

+0

Co oznacza "AFAIK"? –

Powiązane problemy