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

[SOLUCIONADO] Como guardar en socket.io la session

Estas en el tema de Como guardar en socket.io la session en el foro de Node.js en Foros del Web. Buenas. El problema esta en que cuando hago un cambio solo se mantiene asta que se actualiza la pagina, es decir no se me guarda ...
  #1 (permalink)  
Antiguo 16/08/2014, 07:06
 
Fecha de Ingreso: abril-2013
Ubicación: Barcelona
Mensajes: 78
Antigüedad: 11 años, 1 mes
Puntos: 2
Pregunta ¿Cómo guardar en socket.io la session?

Buenas.
El problema esta en que cuando hago un cambio solo se mantiene asta que se actualiza la pagina, es decir no se me guarda en la session.
Soy nuevo en esto de node.js por lo que puede que tenga mas de un fallo

Creo que no estoy usando bien los módulos.
Este es el app.js:
Código:
const KEY = 'connect.sid'
  , SECRET = 'asdklgjdklñshfkladg';
var express = require('express')
  , app = express()
  , server = require('http').createServer(app)
  , io = require('socket.io').listen(server)
  , cookieParser = require('cookie-parser')
  , cookies = require('cookie')
  , cookie = cookieParser(SECRET)
  , session = require('express-session')
  , sessionStore = new session.MemoryStore()
  , session = session({secret: SECRET
                             , key: KEY
							 , resave: true
							 , saveUninitialized: true
							 , store: sessionStore})
  , methodOverride = require('method-override')
  , cookieSession = require('cookie-session')
  , sesiones = require('./routes/sesiones')
  , errorHandler = require('errorhandler')
  , bodyParser = require('body-parser')
  , static = require('serve-static')
  , user = require('./routes/user')
  , routes = require('./routes')
  , logger = require('morgan')
  , path = require('path')
  , url = require('url')
  , fs = require('fs')
  , count = 0
  , connect = require('connect');

// config app
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

// app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(methodOverride());
app.use(cookie);
app.use(session);
app.use(express.static(__dirname + '/public'));
if ('development' == app.get('env')) {
  app.use(errorHandler());
}

// Paginas
app.post('/login', sesiones.post_identificacion);
app.post('/registro', sesiones.post_registro);
app.get('*', function (req, res){
if(req.session.dat){
	switch(req.url){
		case '/logout': sesiones.salir(req,res); break;
		case '/': routes.index(req, res); break;
		default: 	res.end("<script>window.location.href = 'http://localhost/';</script>");	
	}
}else{
	switch(req.url){
		case '/login': sesiones.get_identificacion(req, res); break;
		default: 	res.end("<script>window.location.href = 'http://localhost/login';</script>");	
	}
}
});

server.listen(app.get('port'), function(peticion, respuesta){
  console.log('Express server listening on port ' + app.get('port'));
});

io = io.listen(server);

io.sockets.on('connection', function (socket){
data = {};
data.cookie = cookies.parse(socket.handshake.headers.cookie);
data.sessionID = connect.utils.parseSignedCookie(data.cookie[KEY], SECRET);
sessionStore.get(data.sessionID, function (err, sessionw) {

socket.on('cambio', function(content){
	console.log(sessionw.nom);
sessionw.nom = 'cambio';
console.log(sessionw.nom);
		
});

	
	
	
});
});

Última edición por sekafry; 18/08/2014 a las 03:50

Etiquetas: session, socket-io
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 08:56.