Могу предположить, что одна из проблем - в использовании имени хоста вместо IP адреса (в коде есть вызов gethostbyname()).
Во-первых, само определение адреса по DNS занимает некоторое время, во-вторых, запись DNS может кешироваться в системе или в провайдера, поэтому последующие вызовы могут быть быстрее. То есть, нужно переделать компонент на использование IP, а не доменного имени (а IP можно получать с помощью компонента Host)
Кроме того, можно в компоненте вынести функции IcmpCreateFile() и IcmpCloseHandle(hIP) за пределы _work_doPing, может они тоже занимают время.
И также сходи по той ссылке, что я выше давал - там есть модификация этого компонента для лучшего определения ошибок.
Ответов: 4630
Рейтинг: 749
|
|||
карма: 26 |
|