Estoy haciendo un simple juego en línea basado en la Web. el juego usa Socket.io para hacer netwoking entre sí. pero encontré el problema.¿Cómo puedo manejar el evento Cerrar en Socket.io?
pensar en la siguiente situación. Ejecuté el servidor Socket.io. un jugador que hace la habitación y otro jugador se une a la sala. jugaron algún juego .. pero un jugador tan enojado y cerró la pestaña del juego.
En esta situación, ¿cómo puedo obtener el evento de que un cliente haya cerrado el navegador en el servidor?
acuerdo con googlear, pueblos dicen así: "El uso de eventos navegador se cierra como onBeforeUnload"
pero sé que todos los navegadores no soportan caso onBeforeUnload. entonces quiero una solución sobre verificando el evento de desconexión del cliente en el lado del servidor.
en Socket.io (nodejs) de la consola del lado del servidor, cuando la conexión del cliente cerrado, la consola como dicen lo siguiente:
de depuración - desechando el transporte
Mi versión 0.4.10 y nodejs es Socket.io la versión es 0.8.7. y ambos se ejecutan en Linux.
¿Alguien puede ayudar, por favor?
códigos shortend están aquí:
var io = require ("socket.io").listen (3335);
io.sockets.on ("connection" , function (socket)
{
socket.on ("req_create_room" , function (roomId)
{
var socketInstance = io
.of ("/" + roomId)
.on ("connection" , function (sock)
{
sock.on ("disconnect" , function()
{
// i want this socket data always displayed...
// but first-connected-client doesn't fire this event ..
console.log (sock);
}
});
});
});
¿Fue útil mi respuesta? ¿Solucionó tu problema? –