C# Ping结果与Ping.exe报告的结果不同

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; }

我正在使用此代码ping一些网站:

    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