Socket.io 1.0.5:如何保存会话变量?

2024-03-04

不幸的是,socket.io 开发团队决定弃用函数 set() 和 get()。问题是这两个函数允许我们将变量保存到会话中。

所以我的问题是:socket.io 1.0.5 上的以下代码等效于什么?

socket.set('mySessionVar', 'myValue');

socket.get('mySessionVar', function (error, mySessionVar) {
    console.log('I have a super variable save in the session : '+mySessionVar);
    socket.emit('mySessionVar', mySessionVar);
});

感谢您的帮助, 纪尧姆.


socket.io-握手 https://github.com/fullstackers/socket.io-handshake是 socket.io 1.x 的会话中间件。它建立在express-session 和cookie-parser 之上。我知道我们谈论的是 socket.io 而不是 Express,但它仍然适用于 socket.io。此示例将使您的会话驻留在 Redis 存储中。

var expressSession = require('express-session');
var connectRedis = require('connect-redis')(expressSession);
var cookieParser = require('cookie-parser');
var config = { session: { secret:'secret', key: 'bus.io', store: new connectRedis() } };
var handshake = require('socket.io-handshake');
var io = require('socket.io')(3000);
io.use(handshake(config.session));
io.on('connection', function (socket) {
  socket.handshake.session.data = "whatever data I want";
  socket.handshake.session.save();
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Socket.io 1.0.5:如何保存会话变量? 的相关文章

随机推荐