Название метода (TryTraceRouteInternalAsync
) фактически указывает на то, что что-то делается неправильно.
Этот метод вызывает только один пинг, и поэтому вы получаете только один результат.
Фактический метод, который вам нужно вызвать, это TryTraceRouteAsync
, но у меня есть сильное ощущение, что вы выбрали другой, потому что он возвращает доступный объект со строковым свойством Message.
Если вы это делаете ниже метод TryTraceRouteAsync
будет асинхронно вызывать TryTraceRouteInternalAsync
(MAX_HOPS = 15) раз одновременно и записывать все результаты в streamWriter.
Вы можете просто вызвать этот метод и получить все результаты, которые ищете для:
private async Task<string> TraceRt()
{
MemoryStream memoryStream = new MemoryStream();
StreamWriter streamWriter = new StreamWriter(memoryStream);
await TraceRoute.TryTraceRouteAsync("google.com.tr", streamWriter);
streamWriter.Flush();
memoryStream.Position = 0;
StreamReader stringReader = new StreamReader(memoryStream);
return stringReader.ReadToEnd();
}