Verificar Inatividade Socket

2 respostas
J

Bom dia Pessoal,
Estou com um seguinte problema, gostaria de saber se alguém já passou por esse cenário de socktes:
Possuo um pool de conexao que uso atravéos dos sockets:
Cenário do erro:
Meu servidor está no ar.
Meus clients conseguem conectar normalmente com estancia do objeto.
Porém o servidor cai, e sobe novamente. Quando o servidor sobe a estancia do objeto do socket permane a mesma, existe alguma possibilidade de detectar essa “Invatividade”, par que possa recuperar uma nova estancia, para não ficar perdido no meu pool de conexão.
Eu tentei fazer isso para verificar alguma prorpriedade mas está igual.

socket.getKeepAlive() :false
socket.isBound() :true
socket.isClosed() :false
socket.isInputShutdown() :false
socket.isOutputShutdown() :false
socket.getReuseAddress() :false
socket.getTrafficClass() :0
socket.getTcpNoDelay() :false
socket.getRemoteSocketAddress() :localhost/127.0.0.1:3000
socket.getLocalSocketAddress() :/127.0.0.1:1676

Qdo o servidor cai e volta permance a mesma propriedade.

2 Respostas

E

“Estãncia” é onde você passa as férias (“estância turística”). O nome é “instância”.

Para detectar isso (que o servidor caiu) só há um jeito: ter uma mensagem ou transação de “echo” no seu protocolo, se seu protocolo for você que o tiver definido.

Se, ao tentar efetuar uma transação, houver uma SocketException, você sempre tem de tratar a SocketException corretamente, porque vocè só vai saber que o servidor caiu quando tentar mandar ler ou escrever alguma coisa.

J

Ou seja toda vez que o servidor reinicia e client está no meio do processo, ele não consegue recuperar a nova estancia, permancendo com a mesma, alguém jah passou por isso ?!

Criado 6 de dezembro de 2012
Ultima resposta 6 de dez. de 2012
Respostas 2
Participantes 2