C# 实现 icmp ping 功能
本代码会执行三次ping,并返回三次ping的平均延迟,单位为毫秒,如果网络不通,返回-1。
public static long ICMPPing(string host) { long roundtripTime = 0; try { long totalTime = 0; int timeout = 120; int echoNum = 3; Ping pingSender = new Ping(); int succCount = 0; for (int i = 0; i < echoNum; i++) { PingReply reply = pingSender.Send(host, timeout); if (reply.Status == IPStatus.Success) { totalTime += reply.RoundtripTime; succCount++; } } if (succCount == 0) return -1; roundtripTime = totalTime / succCount; } catch { return -1; } return roundtripTime; }
原文链接地址:http://blog.exsvc.cn/article/csharp-icmp-ping.html
转载请注明:转载自 易科博客 ,谢谢!