Вверх ↑
Ответов: 4628
Рейтинг: 747
#1: 2016-01-20 20:17:56 ЛС | профиль | цитата
Могу предположить, что одна из проблем - в использовании имени хоста вместо IP адреса (в коде есть вызов gethostbyname()).
Во-первых, само определение адреса по DNS занимает некоторое время, во-вторых, запись DNS может кешироваться в системе или в провайдера, поэтому последующие вызовы могут быть быстрее. То есть, нужно переделать компонент на использование IP, а не доменного имени (а IP можно получать с помощью компонента Host)

Кроме того, можно в компоненте вынести функции IcmpCreateFile() и IcmpCloseHandle(hIP) за пределы _work_doPing, может они тоже занимают время.

И также сходи по той ссылке, что я выше давал - там есть модификация этого компонента для лучшего определения ошибок.
карма: 26

0