Sockets Java
Publicado por Pedro (1 intervención) el 28/01/2008 14:16:36
Hola,
Estoy trabajando con sockets en Java. Tengo un servidor concurrente (crea una hebra cada vez que se conecta un cliente) y varios clientes que envían información de forma esporádica (pueden enviarla cada minuto, cada 5minutos, cada 30 minutos,...). El caso es que la hebra debe estar atendiendo al cliente mientras este permanezca conectado, pero si el cliente se apaga (el cliente es una aplicación móvil), ¿existe alguna forma para que el servidor detecte que el cliente ya no está conectado?
Se me han ocurrido dos soluciones: Implementar una especie de servidor en el propio cliente (es una solución compleja y poco elegante) y que el cliente envíe paquetes cada minuto, de forma que si se tarda más de un minuto sin recibir paquetes, se supone que el cliente se ha desconectado. El problema de esta última solución es que estamos hablando de dispositivos móviles que cobran por la cantidad de información que se envía, con lo cual, la factura puede subir más de lo esperado.
Saludos y gracias.
Estoy trabajando con sockets en Java. Tengo un servidor concurrente (crea una hebra cada vez que se conecta un cliente) y varios clientes que envían información de forma esporádica (pueden enviarla cada minuto, cada 5minutos, cada 30 minutos,...). El caso es que la hebra debe estar atendiendo al cliente mientras este permanezca conectado, pero si el cliente se apaga (el cliente es una aplicación móvil), ¿existe alguna forma para que el servidor detecte que el cliente ya no está conectado?
Se me han ocurrido dos soluciones: Implementar una especie de servidor en el propio cliente (es una solución compleja y poco elegante) y que el cliente envíe paquetes cada minuto, de forma que si se tarda más de un minuto sin recibir paquetes, se supone que el cliente se ha desconectado. El problema de esta última solución es que estamos hablando de dispositivos móviles que cobran por la cantidad de información que se envía, con lo cual, la factura puede subir más de lo esperado.
Saludos y gracias.
Valora esta pregunta


0