Recuperando-se de “Conexão Redefinida pelo Par” Indy TCP Client

Como devo me recuperar nesta situação?

O servidor trava, portanto, a conexão foi fechada de forma anormal. Chamadas para quase tudo resultam em exceções "Conexão Reset By Peer". Eu pareço ter corrigido chamando Disconnect no objeto TIdTCPClient dentro do bloco except, mas isso resulta em uma exceção final com a mesma mensagem (que eu peguei na segunda tentativa - exceto o bloco).

Isso é com o Indy10 e o Delphi XE2.

<code>   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;
</code>

questionAnswers(1)

yourAnswerToTheQuestion