Estoy haciendo un sistema muy simple y me di cuenta que cada navegador reacciona diferente.
Lo que estoy haciendo es, enviar un mensaje a todos los sockets cuando un usuario se conecta y otro mensaje cuando el usuario se desconecta.
El servidor responde a todos los clientes (incluso al que emitió el mensaje), y los clientes ejecutan un alert con el mensaje "El usuario X se conecto" (o "se desconecto" segun el caso).
Ahora bien, con los 3 navegadores que probe (firefox, internet explorer y chrome) hacen lo siguiente:
IE: solo se ejecuta el alert de "conexion" en los 3 navegadores.
FF: ejecuta los alert de conexion y desconeccion en todos los navegadores menos en el mismo FF.
Chrome: ejecuta todos los alert en todos los navegadores (esto seria lo ideal).
Para emitir que un usuario se conecto o desconecto, utilizo el siguiente codigo:
Código:
$(window).bind("beforeunload", function()
{
var socket = io.connect('http://localhost:1337');
socket.emit('usuarioDesconectado', "id_us");
});
$(window).bind("load", function(){
var socket = io.connect('http://localhost:1337');
socket.emit('usuarioConectado', "id_us");
});
Mi pregunta es, el problema es de los navegadores o de Node.js ?
Como podria solucionar el problema?
Muchas gracias.