在Express和Socket.io之间共享会话

时间:2017-03-11 10:34:31

标签: javascript node.js express socket.io express-session

我正在尝试在socket.io中访问我的Express会话。我已经阅读了很多关于它的内容,但我找不到如何使它有效。

这就是我正在做的事情:

var app = require('express')();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
var session = require('express-session');
var ios = require('socket.io-express-session');

var session = session({
    secret: 'keyboard cat',
    saveUninitialized: true,
    resave: true
});

app.use(session);

...

app.post('/login', function(req, res) {
    req.session.uid = 1;
    req.session.username = 'foo';
    console.log(req.session);
});

...

io.use(ios(session));
io.sockets.on('connection', function(socket) {
    console.log(socket.handshake.session);
});

server.listen(8080);

我们在socket.io中访问我的会话,uid和用户名值不在这里。也许我需要存储我的会话,但我不知道该怎么做。

感谢您的帮助!

0 个答案:

没有答案