这是我的代码;
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。
有什么想法吗?
答案 0 :(得分:0)
将其关闭实际上是由我的路由器引起的。