繁体   English   中英

没有Express的Socket.io会话

[英]Socket.io session without Express

我在node.js中使用socket.io进行websockets(实时聊天)的应用程序,它在live-chat.dev域上运行。

现在,我在本地主机上运行的另一个项目正在连接到live-chat.dev(客户端)。

我通过存储在node.js应用中的session.id识别用户。

问题是:每个页面重新加载都会产生新的session.id。

node.js会话中间件的配置:

var sessionMiddleWare  = session({
  secret: 'livechat key',
  resave: false,
  saveUninitialized: true,
  cookie: {
    domain : 'localhost'
  }
});

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

我认为您正在寻找的是persistent session 您可以通过将会话对象存储在任何数据存储中并从那里获取它来实现此目的。

如果您对mongodb感到满意,则可以使用connect-mongo库。

您可以在这里阅读有关它的更多信息https://github.com/jdesboeufs/connect-mongo

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM