Socket Error # 10054 Connection reset by peer
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.
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á
Curtidas 0
Respostas

Thomaz_prg
19/01/2006
No evento OnError, se você adicionar algum comando, é ele quem fica responsável por mostrar o erro.
GOSTEI 0

Rudá
19/01/2006
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.
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.
GOSTEI 0

Massuda
19/01/2006
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).
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).
GOSTEI 0

Rudá
19/01/2006
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.
Só que ele desconectou mas não desconectou corretamente e nem foi detectado pelo meu sistema no evendo OnDisconect que ele desconectou.
GOSTEI 0

Massuda
19/01/2006
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.
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.
GOSTEI 0

Rudá
19/01/2006
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.
Ai o servidor deu essa msg de erro, não enviei nada para o cliente, ele que deu esse erro.
GOSTEI 0

Rudá
19/01/2006
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;
procedure TForm_Principal.TCPServerException(AThread: TIdPeerThread;
AException: Exception);
begin
AThread.Connection.WriteLn(AException.Message);
end;
GOSTEI 0