xchgeaxeax писал(а):А есть ли способ завершить поток, в котором
Код: Выделить всё
TTelegramSender.getUpdatesEx(0, 2000000); // больше 23 дней
Сбросить досрочно соединение на сокете, который ждет ответа в ооооочень LongPolling режиме.
Для начала: установка longpolling в минутах или часах уже бессмысленно, не говоря уж о днях. Клиент и сервер не будет держать столько времени соединения, все равно он прервется и заново установит соединение. Если по каким-то причинам нужно долгое соединение то достаточно вполне 15 секунд. Для десктоп приложений, использующих лонгполлинг соединение с ботом я бы поставил, к примеру, в 4 секунды, для большей интерактивности, к примеру, в случае закрытия приложения, чтобы оно оперативней закрывалось.
В целом вопрос как прервать соединение TTelegramSender.getUpdatesEx относится к вопросу как прервать соединение TFPHTTPClient:
1. Самый просто и правильный способ уменьшить лонгполлинг время до приемлимых значений: 5-7 секунд.
2. Попробовать низкоуровнево останавливать соединение TFPHTTPClient, получив его handle.
3. Использовать другой HTTP клиент, к примеру, indy или synapse (брокеры в fp-telegram это позволяют).
Я бы попросту предложил бы выбрать пункт 1