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

[SOLUCIONADO] Cambiar valor de variable en session desde callback de socket

Estas en el tema de Cambiar valor de variable en session desde callback de socket en el foro de Node.js en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original socket. on ( 'ninja' , function ( state ) {         if ( state == ...
  #1 (permalink)  
Antiguo 02/07/2013, 03:16
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 13 años
Puntos: 17
Pregunta Cambiar valor de variable en session desde callback de socket

Código Javascript:
Ver original
  1. socket.on('ninja', function(state){
  2.         if(state=='off'){
  3.             client.query("UPDATE [...]", function selectCb(err, results, fields) {
  4.                 if(err){console.log('Error login'); }
  5.                 else{console.log('el usuario con id '+session['usid']+' y nombre '+session['nick']+' ha activado el modo ninja'); socket.handshake.session['login']=false; }
  6.             });
  7.         }

Un saludo comunidad, este caso me trae un poco de cabeza. Todo se gestiona con express y socket.io, uso el handshake para compartir la sessión y usar el sistema de autentificación. El problema me surge cuando quiero cambiar el valor de una variable, como se puede ver el objetivo del script es cambiar el estado del logeo en la base de datos y cambiar la variable de session, la cual uso como comprobador en otras partes del script.

El quid de la cuestion, pues que cuando hago "socket.handshake.session['login']" me cambia la "importación" que hace el handshake de la session de express, pero no la sessión real, por lo tanto cuando despliego una página y tiro de "req.session" el valor no esta modificado.

¿Alguien se conoce alguna forma de hacerlo? Lo único que encontre fue esta respuesta en stark overflow http://stackoverflow.com/questions/9...et-io-callback

Puede ser una solución, pero me parece poco fino para la gestión de sesion, el post es de hace un año y nodejs evoluciona a cada día ¿Conocen algún otro metodo? Aúnque no tengais una solución 100% efectiva, cualquier referencia o pista para la investigación me vale.

Gracias y un saludo.
  #2 (permalink)  
Antiguo 04/07/2013, 00:31
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 13 años
Puntos: 17
De acuerdo Respuesta: Cambiar valor de variable en session desde callback de socket

Hola de nuevo,

Despues de varios días peleando con las cookie y de mucha investigación, voy y me topo con esta maravilla https://github.com/techpines/express.io

Es una versión ampliada del framework express, este en concreto combina express + socket.io creando entre otras muchas posibilidades, un sistema para gestionar la sessión desde los callback de los socket.

Muy recomendable si usas express y quieres trabajar intensamente con los sockets, pues facilita consideramente toda la gestión.

Espero que a alguien le sirva esto de ayuda.

Un saludo comunidad.

Etiquetas: callback, socket
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 16:59.