Alex_Kud
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Вопрос по Indy (использую C++Builder v6.0, Indy v9.0.18): Передо мной стоит задача - написать программу, сканирующую фтп-сервера в заданном диапазоне ip-адресов. Для реализации этого я использую компонент Indy - IdFTP. Если к серверу удается подключиться, то все отлично, если же сервер не доступен, то возникает такая проблема: компонент ждет ответа сервера 20 сек., прежде чем происходит исключение, сигнализирующее, что подключиться не удается. Но 20 сек. - это очень много. Однако изменить это значение мне не удается. Вот простой пример (в нем нет никакой полезной функциональности, просто подключение и отключение от серверов - для теста), все это реализовано в отдельном потоке: Код: for(int i = 2; i < 255; i++) { Form1->IdFTP1->Host = "10.10.32." + IntToStr(i); try { Form1->IdFTP1->Connect(); } catch(...) { continue; } Form1->IdFTP1->Disconnect(); } При этом метод Connect имеет, вообще, такой вид: procedure Connect(AAutoLogin: boolean; const ATimeout: Integer) (По умолчанию вызывается Connect(true,IdTimeoutDefault).) Но то ли я не те значения задаю, но задание ATimeout ничего не менят, хоть я пишу Form1->IdFTP1->Connect(true,1000), хоть Form1->IdFTP1->Connect(true,100000), все равно приходиться ждать по 20 сек., прежде чем происходит переход к следующему адресу. Может что-то подскажите? | Всего записей: 65 | Зарегистр. 08-09-2005 | Отправлено: 14:55 17-05-2006 | Исправлено: Alex_Kud, 15:20 17-05-2006 |
|