![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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