Foros del Web » Programando para Internet » Node.js »

[SOLUCIONADO] Nodejs disconnect user

Estas en el tema de Nodejs disconnect user en el foro de Node.js en Foros del Web. Hola tengo un sistema de login en nodejs en el que tambien comprueba si el usuario ya esta conectado o no. Pero no funciona del ...
  #1 (permalink)  
Antiguo 11/09/2013, 04:15
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 3 meses
Puntos: 29
Nodejs disconnect user

Hola tengo un sistema de login en nodejs en el que tambien comprueba si el usuario ya esta conectado o no. Pero no funciona del todo bien.

el evento on disconnect:
Código Javascript:
Ver original
  1. var users=io.sockets.clients(socket.room);
  2.         for(var i=users.length-1;i>-1;i--){
  3.             if(users[i].name==socket.name){
  4.                 users.splice(i,1);
  5.                 break;
  6.             }
  7.         }

El login despues de comprobar user y pass:

Código Javascript:
Ver original
  1. var loged=false;
  2.                         for(i in users){
  3.                             if(users[i].name==datos[0]){
  4.                                 loged=true;
  5.                                 break;
  6.                             }
  7.                         }
datos[0] es el campo del user que se recibe.

La variable users es un array que contiene propiedades de todos los usuarios como el nombre... Cuando se desconectan intento eliminar del array users el objeto correspondiente al socket.user. Pero a veces no funciona y no se porque.

Creo que esta en el bucle de disconnect.



Saludos
  #2 (permalink)  
Antiguo 11/09/2013, 05:06
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 3 meses
Puntos: 29
Respuesta: Nodejs disconnect user

Tema solucionado
Era que aqui var users=io.sockets.clients(socket.room); cambiaba el valor de users global.

Debia de pensar antes de preguntar ...

Etiquetas: funcion, javascript, js, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:43.