Socket Error # 10054 Connection reset by peer

19/01/2006

0

Para fazer testes fiz o seguinte

Conectei o cliente com o server e dei um finalizar tarefa para que ele feche, como se fecha-se por causa de algum erro ou algo do tipo o cabo de rede desconectou.

Ai quando dei o finalizar ele deu o erro no server Socket Error 10054 Connection reset by peer

Ai queria identificar de onde vem esse erro para eu tratar e desconectar.


Rudá

Rudá

Responder

Posts

19/01/2006

Thomaz_prg

No evento OnError, se você adicionar algum comando, é ele quem fica responsável por mostrar o erro.


Responder

19/01/2006

Rudá

procedure TForm_Principal.TCPServerException(AThread: TIdPeerThread;
AException: Exception);
begin
AThread.Connection.Disconnect;
Memo.Lines.Add(AException.Message);
end;

Consegui tratar a erro mas e como faço para desconectar, user o AThread.Connection.Disconnect; mas não desconectou.


Responder

19/01/2006

Massuda

Vejo que você está usando Indy.

Posso estar enganado, mas quando o evento ocorre, o cliente já está desconectado. O erro que você está recebendo indica que a conexão já não existe mais (ela foi encerrada pelo cliente).


Responder

19/01/2006

Rudá

Isso mesmo estou usando o indy

Só que ele desconectou mas não desconectou corretamente e nem foi detectado pelo meu sistema no evendo OnDisconect que ele desconectou.


Responder

19/01/2006

Massuda

Quem não detecta que desconectou, o cliente ou o servidor?

Conexões TCP/IP funcionam assim: em alguns casos (por exemplo, se você desconectar o cabo de rede), você só sabe que está desconectado quando tenta enviar algo para a rede.


Responder

19/01/2006

Rudá

O servidor que da o erro quando o programa cliente é fechado pelo finalizar como se tive-se caido a conexão ou algo do tipo.

Ai o servidor deu essa msg de erro, não enviei nada para o cliente, ele que deu esse erro.


Responder

19/01/2006

Rudá

Já resovi, na hora que da o erro eu mando para o cliente e com isso ele desconecta se não responde.

procedure TForm_Principal.TCPServerException(AThread: TIdPeerThread;
AException: Exception);
begin
AThread.Connection.WriteLn(AException.Message);
end;


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar