Как обработать исключение "Сброс подключения по пиру" для запроса 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.

0 ответов

Другие вопросы по тегам