重定向时丢失会话(node.js + socket.io)

时间:2018-03-05 20:48:43

标签: node.js express socket.io

我有一个中间件来使用socket.io并一起表达。

io.use(function(socket, next) {
  sessionMiddleWare(socket.request, socket.request.res, next);
});

我通过socket.io发送实时通知,并且进展顺利。但是在使用socket.io之后,当我重定向到另一个页面时,我失去了会话,特别是对于所有客户端来说,会话​​都是相同的。在我不使用socket.io之前一切都很顺利。即使我重定向到另一个页面,我也不会丢失会话。为什么我在使用socket.io后会丢失会话?请帮帮我。

1 个答案:

答案 0 :(得分:0)

const app = require('express')();
const sharedsession = require('express-socket.io-session');
const server = require('http').createServer(app);
const io = require('socket.io')(server);
const session = require('express-session')({
  secret: 'my-secret',
  resave: true,
  saveUninitialized: true
});
// Share session with io sockets
io.use(sharedsession(session));