Вывод результата Ping в цикле - C#

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

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

Друзья, добрый день! Подскажите пожалуйста, что не так в коде?
Листинг программы
  1. for (int i = 0; i < 10; i++)
  2. {
  3. pingReply = ping.Send(IPAddress.Parse(txbx_targetPing.Text.Trim()));
  4. txbx_resultPing.Text += @"IP:" + @" " + pingReply.Address + @" " + @"Time:" + @" " + pingReply.RoundtripTime + @"ms" + @" " + @"Status:" + @" " + pingReply.Status + Environment.NewLine;
  5. Thread.Sleep(100);
  6. }
Хочу чтобы каждый пакет пинг отсылался через 100мс 10 раз. Код работает так, что в самом начале, перед первым пингом задержка 100мс, а потом 10 пингов одним махом выводит! В чем проблема, подскажите пожалуйста?

Решение задачи: «Вывод результата Ping в цикле»

textual
Листинг программы
  1. void buttonPingClick(object sender, EventArgs e)
  2. {
  3.     new Thread(DoPing).Start();
  4. }
  5.  
  6. void DoPing()
  7. {
  8.     var ping = new Ping();
  9.     IPAddress addr = IPAddress.Parse(txbx_targetPing.Text.Trim());
  10.     for (int i = 0; i < 10; i++)
  11.     {
  12.         var pingReply = ping.Send(addr);
  13.         txbx_resultPing.Invoke(new Action(() => txbx_resultPing.Text += string.Format("IP: {0} Time: {1}ms Status: {2}", pingReply.Address, pingReply.RoundtripTime, pingReply.Status) )); 
  14.         Thread.Sleep(100);
  15.     }
  16. }

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


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

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

7   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы