Часто, при пинге сервера программа подвисает на 1-2 секунды и выдаёт значение пинга 0 - C#

Узнай цену своей работы

Формулировка задачи:

Создал программу для проверки пинга. Часто, при пинге сервера программа подвисает на 1-2 секунды и выдаёт значение пинга 0. Есть ли какое-то исключение, которое можно заточить в try catch, что бы программа не зависала?

Решение задачи: «Часто, при пинге сервера программа подвисает на 1-2 секунды и выдаёт значение пинга 0»

textual
Листинг программы
static void DoPing(object o)
{
    PingData data = (PingData)o;
    try
    {
        Ping ping = new Ping();
        PingReply pingReply = ping.Send(data.Address);
        if (pingReply.RoundtripTime <= 70 && pingReply.RoundtripTime >= 1)
        {
            data.Label.ForeColor = System.Drawing.Color.Green;
        }
        else if (pingReply.RoundtripTime >= 70 && pingReply.RoundtripTime <= 120)
        {
            data.Label.ForeColor = System.Drawing.Color.Orange;
        }
        else if (pingReply.RoundtripTime >= 120)
        {
            data.Label.ForeColor = System.Drawing.Color.Red;
        }
        else if (pingReply.RoundtripTime == 0)
        {
            data.Label.Text = "Сервер умер :)";
        }
        if (pingReply.RoundtripTime != 0)
        {
            data.Label.Text = pingReply.RoundtripTime.ToString();
        }
    }
    catch (PingException)
    {
        data.Label.ForeColor = System.Drawing.Color.Red;
        data.Label.Text = "Ошибка";
    }    
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.357 из 5
Похожие ответы