我使用这个简单的代码ping我的IP地址:
public static bool PingHost(string nameOrAddress)
{
bool pingable = false;
Ping pinger = new Ping();
try
{
//nameOrAddress my ip, pingTImeout = 1 second
PingReply reply = pinger.Send(nameOrAddress, pingTimeout);
pingable = reply.Status == IPStatus.Success;
}
catch (PingException)
{
// Discard PingExceptions and return false;
}
return pingable;
}
我有一个循环,每3秒执行一次这个代码。
奇怪的是,这个循环每1或2分钟失败一次ping,而如果我运行命令
ping myIP -t
在命令提示符下,所有ping都是正确的。
为什么这种行为不同?也许代码不是正确的代码?