2013-06-18 34 views
8

Thời gian ping mặc định là bao nhiêu? Tôi sử dụng mã dưới đây để gửi ping tới các thiết bị tcp. Khi nào thì IPStatus rơi vào thời gian chờ?Thời gian chờ ping mặc định

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); 
    } 
} 

Cảm ơn bạn.

+0

bạn đã đo lường cái gì? – GolezTrol

Trả lời

16

Từ MSDN herehere

Phương pháp này chờ đợi trong năm giây cho một tin nhắn trả lời ICMP echo. Nếu nó không nhận được trả lời trong thời gian đó, phương thức trả về và thuộc tính Trạng thái được đặt thành TimedOut.

Và nếu chúng tôi kiểm tra trong phản xạ, thực sự chúng ta thấy:

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

Có cách nào có thể ghi đè giá trị 5 giây không? –

+0

@Harold_Finch không AFAIK –

+0

"AFAIK" có nghĩa là gì? –

Các vấn đề liên quan