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

desconexión sslSocket (lado servidor)

Estas en el tema de desconexión sslSocket (lado servidor) en el foro de Java en Foros del Web. hola! tengo un sistema de sockets seguros, en los que los clientes se conectan al servidor y mantienen las conexiones abiertas. Me gustaría detectar desde ...
  #1 (permalink)  
Antiguo 25/04/2012, 09:19
 
Fecha de Ingreso: marzo-2009
Mensajes: 509
Antigüedad: 15 años, 2 meses
Puntos: 17
desconexión sslSocket (lado servidor)

hola! tengo un sistema de sockets seguros, en los que los clientes se conectan al servidor y mantienen las conexiones abiertas.

Me gustaría detectar desde mi servidor la desconexión de alguno de estos clientes.

El primer caso, que el cliente cierre el programa se detecta, porque en el receptor me salta una excepción.

El segundo caso, que el cliente pierda la conexión a internet no lo detecto


El tercer caso, que se apague inesperadametne el ordenador en el que está corriendo mi cliente no lo detecto.

Me gustaría evitar ping para esta detección, ¿sería posible?
  #2 (permalink)  
Antiguo 25/04/2012, 12:37
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: desconexión sslSocket (lado servidor)

Hola:

Si el socket se cierra de mala manera sin seguir el protocolo es difícil detectarlo (pérdida de conexión a internet o apagado brusco del ordenador).

Puedes probar a poner la opcion SO_KEEP_ALIVE (setKeepAlive(true)). Esto hace que por debajo y sin que tu te enteres el socket mantenga una especie de ping en la conexión, haciendo que salten las excepciones más fácilmente cuando intentes leer o escribir. http://tldp.org/HOWTO/html_single/TC...-HOWTO/#whatis

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 26/04/2012, 00:38
 
Fecha de Ingreso: marzo-2009
Mensajes: 509
Antigüedad: 15 años, 2 meses
Puntos: 17
Respuesta: desconexión sslSocket (lado servidor)

hola! gracias por tu respuesta.

he mirado la función que dices, pero es para el lado del cliente (que no lo programo yo), además está programado en C.

Gracias!

Saludos

Etiquetas: lado, programa
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 12:35.