使用socket.io会话进行快速会话

时间:2019-01-31 09:16:36

标签: node.js sockets session socket.io

我的问题是我的socket.io会话丢失了,为什么IDK丢失了。这是示例:

在这里,我创建一个套接字会话:

socket.on('login', (userdata) => {
    socket.handshake.session.userdata = userdata;
    socket.handshake.session.save();
});

一段时间后,我回到网站后,该会话不再可用,因此无法在其他套接字调用中使用它,例如:

socket.on('lobby-left', (data) => {

    UserLobby.findOne({
        username: socket.handshake.session.userdata.username //  Doesnt find user anymore
    }).then((inLobby) => {

这里的问题是,即使我再次登录,我仍然无法在socket.io中使用此会话,而且我不明白为什么它在x100登录后或通过智能手机登录该站点后才能开始工作。

像昨天一样,一切正常,今天我运行服务器,看到已经登录,但套接字中的该会话不再存在。我重新登录仍然不存在。

这是会话代码:

app.use(cookieParser());
const exsession = require('express-session');
const MongoStore = require('connect-mongo')(exsession);

const session = exsession({
    secret: 'ianevutytsuinliv',
    cookie: {
        maxAge: 24 * 60 * 60 * 1000
    },
    resave: true,
    saveUninitialized: true,
    store: new MongoStore({
        mongooseConnection: mongoose.connection
    })
});


app.use(session);
io.use(sharedsession(session));

我使用以下软件包:https://www.npmjs.com/package/express-socket.io-session

0 个答案:

没有答案
相关问题