Вопрос в том, что HTTP реализуется в потоке с использованием IdHTTP. Я хочу, если нужно, закончить поток. Для этого я периодически проверяю свойство Terminated в событии HTTPWork IdHTTP. Если установлено свойство terminate, то вызывается метод IdHTTP.disconnect и поток завершается.Delphi: как изящно завершить поток, который использует IdHTTP во время таймаута соединения?
Это прекрасно работает, однако рассмотрим следующий проблемный сценарий:
По какой-то причине сеть идет вниз, когда начинается поток. По истечении тайм-аута возникает ошибка сокета, которая также в порядке, однако во время интервала таймаута из IdHTTP не происходит никаких событий, и поэтому нет способа проверить завершенное свойство. Итак, вопрос заключается в том, как изящно прекратить поток, который использует IdHTTP во время таймаута соединения?
Не контролируйте поток выполнения потока событиями 'TIdHTTP'. – TLama
@TLama: IdHTTP действительно работает. Есть ли другая альтернатива? – user2046977