Вывод результата Ping в цикле - C#
Формулировка задачи:
Друзья, добрый день! Подскажите пожалуйста, что не так в коде?
Хочу чтобы каждый пакет пинг отсылался через 100мс 10 раз. Код работает так, что в самом начале, перед первым пингом задержка 100мс, а потом 10 пингов одним махом выводит! В чем проблема, подскажите пожалуйста?
for (int i = 0; i < 10; i++)
{
pingReply = ping.Send(IPAddress.Parse(txbx_targetPing.Text.Trim()));
txbx_resultPing.Text += @"IP:" + @" " + pingReply.Address + @" " + @"Time:" + @" " + pingReply.RoundtripTime + @"ms" + @" " + @"Status:" + @" " + pingReply.Status + Environment.NewLine;
Thread.Sleep(100);
}Решение задачи: «Вывод результата Ping в цикле»
textual
Листинг программы
void buttonPingClick(object sender, EventArgs e)
{
new Thread(DoPing).Start();
}
void DoPing()
{
var ping = new Ping();
IPAddress addr = IPAddress.Parse(txbx_targetPing.Text.Trim());
for (int i = 0; i < 10; i++)
{
var pingReply = ping.Send(addr);
txbx_resultPing.Invoke(new Action(() => txbx_resultPing.Text += string.Format("IP: {0} Time: {1}ms Status: {2}", pingReply.Address, pingReply.RoundtripTime, pingReply.Status) ));
Thread.Sleep(100);
}
}