problemas para detectar isclosed de socket cliente.

Luis Gallardo Cortes
15 de Mayo del 2006
Tengo una clase de cliente socket el cual se conecta con un servidor tcp/ip en Visual Basic. Si el servidor tcp se cierra el cliente Java no se percata de que el cliente se encuentrs cerrado, apesar de tener activada la propiedad SetKeepAlive

clienttcp = new Socket();
clienttcp.setKeepAlive(true);


Por favor necesito de vuestra AYUDA.

Moli_T
15 de Mayo del 2006
Me he encontrado con el mismo problema que tú. He estado buscando información para ver como se podría resolver esto, y finalmente rebuscando en la documentación de Java encontré el porqué de que no se cierre automaticamente.
Realmente lo hace el solo, lo que pasa es que tiene predefinido 2 horas de espera antes de hacer ninguna comprobación y cerrar el socket.
Puedes verlo en http://java.sun.com/j2se/1.4.2/docs/api/java/net/SocketOptions.html#SO_KEEPALIVE

Saludos.