0条评论
还没有人评论过~
我在循环用ping测试设备间是否正常连接,头几次正常连接,但是我拔了网线就直接异常PingException
IPAddress ip = IPAddress.Parse(192.168.1.152);
Ping ping = new Ping();
PingReply reply = ping.Send(ip);
return (reply.Status == IPStatus.Success);
```
###问题
这个异常发生原因是啥?怎么处理?或者说怎么避免
我猜这个异常发生的原因是你拔掉了网线。抛出这个异常就说明网不通阿:
bool CanConnect(ipstr)
{
IPAddress ip = IPAddress.Parse(ipstr);
Ping ping = new Ping();
try
{
PingReply reply = ping.Send(ip);
return return (reply.Status == IPStatus.Success);
}
catch(PingException)
{
return false;
}
}
如果不想使用捕获异常的方式,可以试试 System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()
,详见 How do I check for a network connection?