восстановление после «сброса соединения узлом» TCP-клиента Indy

Как мне выздоравливать в этой ситуации?

Сбой сервера, поэтому соединение было аварийно закрыто. Вызовы практически ко всему приводят к исключениям «Сброс соединения по узлу». Кажется, я исправил это, вызвав Disconnect для объекта TIdTCPClient внутри блока исключений, но это приводит к одному последнему исключению с тем же сообщением (которое я поймал во втором блоке try-except).

Это относится к Indy10 и Delphi XE2.

   try
      if not EcomSocket.Connected then EcomSocket.Connect();
    except
      on e: Exception do begin
        try
          EcomSocket.Disconnect();
        except
          MessageDlg('Connectivity to the server has been lost.', mtError, [mbOK], 0);
        end;
      end;
    end;
10
задан Andy Clark 9 May 2012 в 20:50
поделиться