¿Cómo hacer una acción sobre la finalización del proceso?

He escrito un programa en Java que crea una conexión de socket para un juego en línea simple. El servidor es multicliente y tiene una lista de usuarios registrados. Cuando cierro el cliente, envía al servidor un mensaje para desconectar al usuario. También quiero que cuando el cliente finalice con el botón "finalizar" de Eclipse (o con el administrador de tareas de Windows) el cliente envíe el mismo mensaje. Intenté con un ShootdownHook pero no funciona. ¿Alguna idea? Gracias.

Respuesta 1

Para tener un sistema robusto, en algún momento necesitará implementar un mecanismo de latido que permita al servidor cerrar las conexiones. Por ejemplo, si un cliente no ha establecido un latido en los últimos 30 segundos, cierre la conexión. Considere el caso en el que la red entre el cliente y el servidor se cae ... o la máquina en la que se ejecuta el cliente muere de una muerte fea. En esos casos, no puede confiar en que el mensaje de cierre de sesión del cliente llegue al servidor.

Dicho esto, sospecho que el gancho de apagado es demasiado tarde para hacer IO de red real. He utilizado con éxito los ganchos de cierre para cerrar las conexiones. Por lo tanto, deberá realizar un apagado más formal donde se envíe el mensaje antes de que se inicie otra actividad de apagado, especialmente el cierre de conexiones.

Respuesta: 2

Estoy buscando una manera de mostrar las unidades del sistema en Mac OS X para utilizar un método que me permita mostrar la variación del espacio libre en las unidades debido a la eliminación o copia de archivos en el futuro. Te explico mejor: si yo ...

¿Alguien sabe si netbeans utiliza de forma predeterminada el servidor hotspot vm? Estoy tratando de averiguar si esa sería una opción de no hacerlo. ¡Gracias! -roger-

Recibo este error cada vez más, y se está volviendo más pegajoso, más difícil de eliminar. A menudo, refrescando el proyecto en la vista del explorador (pero no haciendo el truco ahora), o hurgando con algunos ...

Modifiqué algunos de los campos de texto en mi GUI para usar constructores que arrojan excepciones. Si bien la ventana de propiedades del diseñador de swing de netbeans me permite modificar el código de controles y contenedores, ...