正常的ping,不通的时候,要200ms左右,有些判断是否通断的程序等不了,实际能ping通的,基本都在10ms之内就有反馈(局域网),所以用了这个方法,不用等待200ms,甚至更长来等待通、断的判断,pingTimeOut参数由自己指定。
private IPStatus PingTest(string IPAddress)
{
IPStatus pingReply=IPStatus.TimedOut;
Ping ping = new Ping();
Task task = Task.Run(() =>
{
pingReply = ping.Send(IPAddress, pingTimeOut).Status;
});
Thread.Sleep(pingTimeOut);
return pingReply;
}
调用方法
if (PingTest(statusServerIP) == IPStatus.Success)
{
}