(Delphi XE2) После определённого количества Get запросов поток умирает. Это может быть и 5 и 100 запросов. (Как когда) В моей ситуации Пост запросы не подходят, нужно юзать геты. Компонент idHTTP я и создавал, и на форму бросал. Всё равно поток рано или поздно умирает. (Если использовать компонент находящийся на форме, то поток проживёт в разы дольше.) Я хочу написать бота, нужно чтобы каждые (к примеру) 15 секунд он отправлял гет запрос на определённый сайт и проверял нет ли для него указаний. Если они есть, то он отправляет другой гет запрос следуя указаниям, а если нет, то он ждёт новых указаний. Сколько не мучаюсь, но поток всё равно рано или поздно умирает при ёб**ом гет запросе. Оператор try except end особо не помогает, из-за него гет запрос отправляется дольше, но поток всё равно умирает. Прошу o помощи. Посоветуйте какую-то толковую литературу на эту тему, что-ли. Буду очень признателен.
Извиняюсь, не так выразился. Виснет, скорее всего. К примеру оставляю наночь поток включеным, потом просыпаюсь и вижу в логе что поток проработал этак пол часа, затем, после очередного гет запроса поток завис, хоть и после последнего запроса прошло часа три-четыре. То есть, уведомления о том что поток завершил работу - не было, но и сам поток не отвечает. Он отправил гет запрос на сайт, а ответ, скорее всего, не поступил до сих пор, вот и получилось зависание инди, и из-за него же зависание потока. Запросы идут на vk.com и только, при запросах кукисы установлены, т.е коннектится как авторизированый пользователь. Я уже достаточно длительное время мучаюсь с этим вопросом. Что посоветуете?
А какая связь между sleep(15000); и временем ответа сайта после гет запроса? Выставил IdHTTP1.ReadTimeout:=15; При первом же запросе:
Работу с сетью нужно всегда обрабатывать на ошибки, в данном случаи: try //запрос except on EIdReadTimeout do // end; Совет: забей на инди и учись работать на винсоках.
Как уже подсказали - используй блок try except end; для работы с сетью. Ну а на счет Winsock - используй только какую нибудь обертку для работы с Winsock, в "сыром" виде использовать не стоит.