Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/01/2008, 14:16
GreenEyed
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 2 meses
Puntos: 51
Re: Gurus sobre Sockets - Detectar conexion perdida.

Available en este caso no devuelve lo que tu esperas, ya que te dice los bytes que puede leer "en ese mismo momento" y no se para a esperar a recibir algo.

Aqui puedes ver un ejemplo de como se trabaja con sockets en Java:
http://java.sun.com/docs/books/tutor...entServer.html

Con algo como el read() o similares se bloquean y esperan para leer. Si el servidor cierra la conexion, lo normal es que salte una excepcion y entonces el cliente sabe que las comunicaciones "se han roto". Sin embargo, algunas veces el protocolo TCP/IP se puede cortar sin que haya notificacion de que la cosa se ha roto, por lo que siempre es bueno usar Timeouts como salvaguarda, ya que si no podria quedarse nuestro cliente infinitamente colgado esperando de un servidor que ya no esta.

Y no es algo infinitamente remoto que apenas pasa, en Internet pasa lo suficientemente a menudo como para tenerlo en cuenta. Lo digo por experiencia ;).

S!