Как мне преобразовать переменную ping в int? - PullRequest
1 голос
/ 16 мая 2019

Я пытаюсь обработать ping моего ПК в диаграмме, что почти успешно, но моя переменная ping не хочет преобразовываться в int

Я пробовал так много видео и сайтов в интернете, но у меня ничего не получилось! Я создал переменную ping, а затем попытался преобразовать ее в целое число, чтобы я мог поместить ее в диаграмму, но она не будет преобразована!

Это мой код:

using System.Diagnostics;
using System.Net.NetworkInformation;
using System.Threading;
using System.Windows.Forms.DataVisualization.Charting;

private void pingTimer_Tick(object sender, EventArgs e)
{
    Ping ping1 = new Ping();

    PingReply PR = ping1.Send("192.168.2.6");

    Convert.ToInt32(PR);
    chart1.Series["Connection"].Points.AddY(PR);
}

У меня нет ошибок компилятора, но когда я запускаю таймер, он падает и выдает

Невозможно преобразовать объект System.Net.NetworkInformation.PingReply в тип System.IConvertible. "

Возможно ли даже преобразовать его в int?

1 Ответ

5 голосов
/ 16 мая 2019

Используйте свойство RoundtripTime, которое содержит время приема-передачи (отправка + получение) в миллисекундах.

Получает количество миллисекунд, потраченных на отправку эхо-запроса протокола управляющих сообщений Интернета (ICMP) и получение соответствующего эхо-сообщения ответа ICMP.

int milliseconds = (int)PR.RoundtripTime;

поэтому ваш код должен выглядеть как

chart1.Series["Connection"].Points.AddY((int)PR.RoundtripTime);
...