![]() |
Модераторы: Snowy, Poseidon, MetalFan |
![]() ![]() ![]() |
|
AXS |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 26.9.2008 Где: РК Репутация: нет Всего: -1 |
Давненько не писал на программерские форумы, да вот занесла опять нелёгкая в прикладное...
В общем суть такова: опрашиваю диапазон IP-адресов посредством idHTTP (Indy 10)
ReadTimeout и ConnectTimeout выставляю 2000 Но почему то ответа (преимущественно от несуществующих IP) приходится ждать гораздо дольше чем 2 секунды... Пробовал выставлять
но тогда перебор пролетает со скоростью звука и безо всяких ответов... Кто просвятит по таймаутам тому респект и уважуха ![]() --------------------
<><><> AXS - Live Organizer v1.0 <><><> 0_o |
||||
|
|||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
ни версии делфи, ни версии индей(10.?.?)... телепатов тут нет. извините.
если версия "та, что с делфей", то советую обновиться с оффсайта indyproject.org Это сообщение отредактировал(а) MetalFan - 12.10.2009, 16:32 -------------------- There are always someone smarter than you... |
|||
|
||||
AXS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 26.9.2008 Где: РК Репутация: нет Всего: -1 |
"Та что с делфи" 9, а я написал 10... ______________________________________________ Подробнее: Indy 10.0.52 (с офф сайта) Delphi 7.0 (Build 4.453) Windows XP Professional (Build 2600: Service Pack 2) --------------------
<><><> AXS - Live Organizer v1.0 <><><> 0_o |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
AXS, с 2009 идет 10ка, с 2010 10ка под юникод. про версию делфи в первом посте ни слова.
а теперь по делу: лучше с оффсайта взять Development Snapshot. 10.0.52, если мне память не изменяет, не очень стабильная. так же в 10ке вроде св-ва Read и Connection таймауты вынесены в TIdHTTP. зачем через сокет устанавливать... может стоит каким-нибудь профайлером посмотреть (или на худой конец отладчиком), на что инди тратят столько времени? кстати, ConnectionTimeout, если я не ошибаюсь, в индях реализовано через доп.поток... -------------------- There are always someone smarter than you... |
|||
|
||||
AXS |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 26.9.2008 Где: РК Репутация: нет Всего: -1 |
Короче поотлаживал я idHTTP - точного результата не узнал в силу того что идёт подсчёт времени и если трассировать код indy то получаешь ошибочку отсутствия подключения к инету (я так полагаю)
Но примерно определил: после вызова Get в idHTTP.pas несколько раз выполняется
Подвисает на втором выполнении. Я проследовал дальше и разведал такую фишку
LInfinite в моём процессе всегда false. LSleepTime = 125. ATimeout на старте 2000. Весь цикл нормально прогоняется пока ATimeout не обнулися. Тогда процесс "засыпает" на 5-10 секунд. Отлаживать дальше не получается - ловлю исключение "Network is unreachable" --------------------
<><><> AXS - Live Organizer v1.0 <><><> 0_o |
||||
|
|||||
AXS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 26.9.2008 Где: РК Репутация: нет Всего: -1 |
Методом научного тыка вычислил что тормоза создаёт WaitFor; при закрытии сокета.
Как с этим побороться, кто скажет? PS: WaitFor описан в Classes.pas Это сообщение отредактировал(а) AXS - 14.10.2009, 12:21 --------------------
<><><> AXS - Live Organizer v1.0 <><><> 0_o |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
AXS, не надо с ним бороться...
Добавлено через 21 секунду расскажи лучше о методе научного тыка) -------------------- There are always someone smarter than you... |
|||
|
||||
AXS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 26.9.2008 Где: РК Репутация: нет Всего: -1 |
Так как это не надо бороться? Как то нехорошо получается.... Может есть альтернативные компоненты? А метод научного тыка (в этом случае) заключается в поочерёдной простановке бряков в OllyDebugger'e --------------------
<><><> AXS - Live Organizer v1.0 <><><> 0_o |
|||
|
||||
MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 14 Всего: 128 |
НЕверным путем идете, товарищ!)
альтернативные. да навалом. WinInet, WinHTTP (это не компоненты!), любимый многими ICS. есть еще парочка, которые я в глаза не видел, но тут(на форуме) упоминали вроде. -------------------- There are always someone smarter than you... |
|||
|
||||
AXS |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 26.9.2008 Где: РК Репутация: нет Всего: -1 |
Да что ж вы всё загадками говорите... Если я иду неверным путём то какой верный?.. Нужели у всех при переборе ip-адресов (включая несуществующие) idhttp тупит?... --------------------
<><><> AXS - Live Organizer v1.0 <><><> 0_o |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Сети" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |