Я пингую хосты из списка строк (адресов). Все работает отлично, но когда хост недоступен, ping возвращает Result.Address
: «0.0.0.0» вместо существующего адреса или имени хоста, которые я передал в функцию SendPingAsync. Вот мой код:
var pingTasks = addresses.Select(address =>
{
return new Ping().SendPingAsync(address);
});
await Task.WhenAll(pingTasks);
StringBuilder pingResultBuilder = new StringBuilder();
foreach (var pingReply in pingTasks)
{
pingResultBuilder.Append(pingReply.Result.Address);
pingResultBuilder.Append(" ");
pingResultBuilder.Append(pingReply.Result.Status);
pingResultBuilder.Append(" ");
pingResultBuilder.Append(pingReply.Result.RoundtripTime.ToString());
pingResultBuilder.AppendLine();
}
Console.WriteLine(pingResultBuilder.ToString());
Я нашел решение здесь но мне нужно сделать то же самое в функции SendPingAsync
вместо SendAsync
. Как я могу получить переданный host name / ip address
из pingReply.Result
?