在我的C#应用程序内部进行“ping”
我需要我的应用程序来ping我稍后将指定的地址,只需将平均Ping时间复制到Label的.Text即可。
有帮助吗?
编辑:
如果有人有兴趣,我找到了解决方案:
Ping pingClass = new Ping(); PingReply pingReply = pingClass.Send("logon.chronic-domination.com"); label4.Text = (pingReply.RoundtripTime.ToString() + "ms");
看一下NetworkInformation.Ping类。
一个例子:
用法:
PingTimeAverage("stackoverflow.com", 4);
执行:
public static double PingTimeAverage(string host, int echoNum) { long totalTime = 0; int timeout = 120; Ping pingSender = new Ping (); for (int i = 0; i < echoNum; i++) { PingReply reply = pingSender.Send (host, timeout); if (reply.Status == IPStatus.Success) { totalTime += reply.RoundtripTime; } } return totalTime / echoNum; }
就像这个旁注一样。 已经有一个关于sourceforge的项目正在做你想要的事情。 这还包括ICMP(RFC 792)的实现
Sourceforge项目