Ver Mensaje Individual
  #5 (permalink)  
Antiguo 15/02/2016, 02:25
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: funcion al cerrar el programa

Yo en tu lugar no dejaría únicamente en manos del cliente avisar de su desconexión... ¿Qué sucedería entonces si hay un problema de red o se va la luz en cada del cliente?

Si para el juego usas TCP puedes saber en todo momento si el cliente se ha desconectado. TCP es un protocolo orientado a la conexión y ello implica que el enlace se mantiene abierto todo el tiempo. Puedes conseguir el mismo efecto con UDP... en este caso el cliente tendría que enviar mensajes cada, como mucho, X tiempo. Si un jugador pasa más de ese X sin enviar mensajes se le desconecta y listo.

Para gestionar la desconexión desde el lado del cliente tienes que aplicar una solución que es dependiente de la librería que uses para construir la interfaz gráfica. Como te ha indicado xKuZz, en Windows el proceso recibe un mensaje de tipo WM_CLOSE cuando la ventana va a cerrarse... pero las librerías gráficas suelen encapsular esta funcionalidad y tienden a ofrecerte una interfaz más amigable. Por supuesto dicho mensaje SIEMPRE debería estar disponible pero vas a conseguir un código más sencillo si apuestas por aprovechar las bondades de la interfaz gráfica que estés utilizando.

Un saludo.
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.