C#-SendPingAsync始终失败并超时

时间:2018-11-29 11:23:01

标签: c# .net

这是我的代码;

    private async Task PingAsync(IPAddress target)
    {
        Console.WriteLine($@"pinging {target}..");         

        var tasks = new[] { 0, 1, 2, 3, 4 }.Select(async iteration =>
        {
            try
            {
                using (var ping = new Ping())
                {
                    var reply = await ping.SendPingAsync(IpAddress);
                    Console.WriteLine($@"ping result [{iteration}] from {reply.Address} - [{reply.Status}] - {reply.RoundtripTime}");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        });

        await Task.WhenAll(tasks);
    }

并使用

运行它
    public async Task Run()
    {
        var Checks = new List<IPAddress>()
        {
            IPAddress.Parse("8.8.8.8"),
            IPAddress.Parse("8.8.4.4"),
            IPAddress.Parse("8.8.1.1"),
        };

        var tasks = Checks.Select(PingAsync);

        await Task.WhenAll(tasks);
    }

因此,基本上,在我的一台开发计算机中,它都能正常工作,但在另一台开发计算机中,所有检查都因超时而失败。

是的,该机器可以从命令行ping这些IP。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

将其关闭实际上是由我的路由器引起的。