Foros del Web » Programación para mayores de 30 ;) » Java »

Saber si una conexion sigue activa (Sockets)

Estas en el tema de Saber si una conexion sigue activa (Sockets) en el foro de Java en Foros del Web. Hola gente, hay alguna forma de saber si una conexion por socket con protocolo TCP/IP sigue activa? Estoy haciendo una aplicacion cliente/servidor y no puedo ...
  #1 (permalink)  
Antiguo 10/05/2007, 10:52
Avatar de marcos1979  
Fecha de Ingreso: abril-2004
Ubicación: 62º 06' 18" O / 33º 07' 47" S
Mensajes: 331
Antigüedad: 20 años
Puntos: 1
Pregunta Saber si una conexion sigue activa (Sockets)

Hola gente, hay alguna forma de saber si una conexion por socket con protocolo TCP/IP sigue activa?
Estoy haciendo una aplicacion cliente/servidor y no puedo saber como notificarle al servidor que el cliente se desconectó o al cliente cuando el servidor cierra la conexion.
Podria hacer alguna especie de ping pero no se si es correcto o hay alguna forma mas simple y sin producir trafico de red.
Traté con isClosed(), isConnected() y con casi todos los metodos de la clase Socket y no di con el adecuado.

Muchas gracias
__________________
Marcos

El dinero no da la felicidad... démelo y sea feliz!!!
  #2 (permalink)  
Antiguo 10/05/2007, 23:12
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Re: Saber si una conexion sigue activa (Sockets)

Hola:

Lo normal es poner la opción setKeepAlive(true)

Este opción hace que el socket esté pendiente de si el otro lado se desconcecta o no. De esta forma, cuando intentes hacer una lectura o escritura en el socket, si al otro lado se han desconectado, te saltará inmediatamente una excepción.

Esta opción genera internamente el ping que mencionas, por lo que no tienes que preocuparte de él.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:19.