Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TidHTTP прервать по таймауту


ford ©   (2009-12-08 11:48:00) 

Здравствуйте!
скачиваю страницы сайта, используя компонент TIdHTTP из Indy
иногда сайт отвечает но ничего не шлет, или выслал часть страницы и более никакого отклика, и в таком случае
в строке
st.Text:=http.Get(SrcList[i]);
программа просто зависает
попробовал установить свойство ReadTimeout в 30000 (т.е. ждать 30секунд), но как я понял оно срабатывает только при соединении с сайтом, т.е. если сайт хоть что то ответил то этот таймаут не сработает.

Подскажите, как прервать выполнение Get по истечению определенного таймаута?


Сергей М.   (2009-12-08 14:13:00) [1]


> ford


Вместо Indy dозьми на вооружение Synapse и не мучайся


clickmaker   (2009-12-08 12:42:00) [2]

а какая версия indy?
возможно, это косяк. Надо в отладчике посмотреть, какое реальное значение свойства на момент начала запроса, и вообще покопать в местах, где это свойство используется


ford   (2009-12-08 12:03:00) [3]


> это ConnectTimeout

ConnectTimeOut нету такого :(
есть только метод Connect(ATimeout:Integer=-1);

если ReadTimeout это таймаут процесса чтения из сокета, то почемуж он тогда не отваливается по истечению. Я пробовал дождаться, но после 15 минут ожидания просто сделал Ctrl+f2 или в IDE он не срабатывает?


clickmaker   (2009-12-08 11:56:00) [4]

> но как я понял оно срабатывает только при соединении с сайтом

это ConnectTimeout


Наверх

Титульная страница Поиск, карта сайта Написать письмо