Galera possuo um socket qeu se conecta com um servidor e fica escutando recebendo varias mensagens e imprimindo o que ele for recebendo, tudo funciona bem, unico problema é.
Se o servidor por algum motivo desliga, ou é reiniciado, este socket que estava conectado não da exceção, nada de erro, continua na vida dele apenas escutando.
Gostaria de saber como posso resolver este problema, ele deve identificar que o servidor desligou e fazer novas tentativas de acesso até o servidor retornar, gerando uma nova conexão e voltando a escuta-lo.
socket = new Socket(localhost, 3000);
socket.setSoTimeout(30000);
in = new BufferedInputStream(socket.getInputStream());
out = new BufferedOutputStream(socket.getOutputStream())
try {
do {
if (socket != null) {
if (in != null) {
if (in.available() > 0) {
while (in.available() > 0) {
entrada.append((char) in.read());
}
System.out.println(entrada.toString());
entrada=new StringBuilder();
} else {
this.sleep(5000);
}
}
}
} while (true);
} catch (Exception e) {
e.printStackTrace();
}
Valeu!