Как обработать исключение "Сброс подключения по пиру" для запроса TIdHTTP.Get?
В моем приложении VCL я использую TIdHTTP.Get()
чтобы получить данные из веб-службы RESTful. В моем приложении я использую следующий код:
var
HTTP: TIdHTTP;
ws: WideString;
begin
ws := HTTP.Get('http://www.restfulwebservice.com/' + ObjectId);
end;
Мое приложение всегда работает на рабочей станции Windows, и я никогда не хочу его закрывать. Однако время от времени он сообщает о неприятном исключении Connection Reset By Peer. Это обычно происходит после некоторого бездействия.
В таких случаях я должен закрыть приложение и снова открыть его, потому что я не знаю, как обработать это исключение. Я хочу правильно справиться с этим (в течение try..except
заблокировать?), чтобы повторно открыть соединение, поэтому нет необходимости закрывать и перезапускать мое приложение.
Существуют ли какие-либо практики по обнаружению и обработке вышеупомянутого исключения? Мое исследование показало мне несколько примеров TIdTCPServer
, но нет TIdHTTP
,
Я использую обновление 2 подписки Delphi Berlin 10.1 на Windows 7 x64.