C# Ping结果与Ping.exe报告的结果不同
我正在使用此代码ping一些网站:C# Ping结果与Ping.exe报告的结果不同,c#,windows,networking,ping,C#,Windows,Networking,Ping,我正在使用此代码ping一些网站: public static async Task<long> PingUrl(string url) { using (var ping = new Ping()) { var result = await ping.SendPingAsync(url, 1000); return result.RoundtripTime; }
public static async Task<long> PingUrl(string url)
{
using (var ping = new Ping())
{
var result = await ping.SendPingAsync(url, 1000);
return result.RoundtripTime;
}
}
但是在命令行中使用ping.exe
会让我:
> ping 8.8.8.8
Pinging 8.8.8.8 with 32 bytes of data:
Reply from 8.8.8.8: bytes=32 time=147ms TTL=50
Reply from 8.8.8.8: bytes=32 time=158ms TTL=50
Reply from 8.8.8.8: bytes=32 time=147ms TTL=50
Reply from 8.8.8.8: bytes=32 time=147ms TTL=50
这是更加一致的。有什么不同?我希望能够得到同样的结果
PS:更改超时并使用方法的
sync
版本(ping.Send()
)给出了准确的结果。我测试了你的“PingUrl”,结果与我的命令完全一致。我建议你检查一下你是否在其他人身上也有同样的行为computers@OldFox有趣的。。。但正如你在我电脑上看到的,结果完全不同。你读过这个问题吗@那帮不了我。正如您在上面的结果中所看到的,我在几种情况下使用IPs。
4.2.2.4 DNS:
Not reachable
147ms
Not reachable
Not reachable
Average: 147
----------------------
8.8.8.8 DNS:
260ms
148ms
Not reachable
Not reachable
Average: 204
...
> ping 8.8.8.8
Pinging 8.8.8.8 with 32 bytes of data:
Reply from 8.8.8.8: bytes=32 time=147ms TTL=50
Reply from 8.8.8.8: bytes=32 time=158ms TTL=50
Reply from 8.8.8.8: bytes=32 time=147ms TTL=50
Reply from 8.8.8.8: bytes=32 time=147ms TTL=50