C # многопоточный пинг - PullRequest
1 голос
/ 07 марта 2011

Я работаю над приложением для мониторинга сети, которое пингует (не известно) количество хостов.Пока у меня есть код ниже.Я создал класс PingHost с функцией zping и вызывал его с помощью таймера раз в 2 секунды, чтобы завершить 2 пинга, даже если один из них получает TimedOut.Но я думаю, что лучшим решением будет создание нового потока для каждого пинга, чтобы пинг каждого хоста был независимым.

Может кто-нибудь подсказать, как это сделать?

Ответы [ 2 ]

2 голосов
/ 07 марта 2011

Вы можете обработать событие Ping.PingCompleted:

ping.PingCompleted += new PingCompletedEventHandler(ping_PingCompleted);

затем используйте:

ping.SendAsync()

примечание: выберите более подходящие имена для ваших классов и процедур. PingHost больше подходит в качестве имени рутины

2 голосов
/ 07 марта 2011

Если вы используете .NET 4, вы можете использовать Parallel.Invoke.

...