Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/05/2013, 08:44
kikeking1
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 15 años, 6 meses
Puntos: 17
Respuesta: Problema entre los navegadores y Node.js

Diferente comportamiento en navegadores, es cosa de frontend, por lo que nodejs no tiene culpa de nada ya que va en el servidor.

No he podido realizar pruebas, pero a simple vista diria que tu problema esta en que abres conexiones cada vez que lanzas un evento, para empezar quitaria eso, y luego iria viendo por donde evoluciona la cosa.

Código Javascript:
Ver original
  1. $(window).bind("load", function(){
  2.     var socket = io.connect('http://localhost:1337'); //conectamos al cargar la página, y ya no hace falta abrir nuevas conexiones
  3.     socket.emit('usuarioConectado', "id_us");
  4. });
  5.  
  6. $(window).bind("beforeunload", function(){ socket.emit('usuarioDesconectado', "id_us"); });

La gracia de los sockets es que son conexiones persistentes, por lo que están abierta todos el rato.
De hecho es importante gestionar las conexiones que se quedan abierta no solo desde el cliente, si no tambien desde el servidor, o si no habran sockets abierto escuchando a la nada.. (el evento beforeunload, no es fiable para esto, pues imagina que a tu usuario se le corta la luz de golpe, o simplemente usa opera [si alguien sabe como echar a andar esto en opera, que lo comparta please] nunca se ejecutara el evento de desconexión).

Pues espero que todo fuera eso, que tengas suerte en el proyecto. Un saludo.