node.js - 如何在 session expressjs中存储套接字对象

标签 node.js express socket.io

io.on('connect', function (socket) {
    req.session.socket = socket;    
});

我想将套接字对象存储在用户的 session 中。但无法,因为回调中的 req 对象没有持久化更改。下次我尝试访问它时它不可用。我该怎么办?

最佳答案

试试这个:

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

io.on('connect', function (socket) {
    socket.request.session.socket = socket;    
});

你的SessionMiddleware看起来像:

var yourSessionMiddleware = session({
    secret: "super secret word"
});

关于node.js - 如何在 session expressjs中存储套接字对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29063921/

相关文章:

Node.js 加密货币使用 tron 公共(public)地址创建 ecdh

mysql - 如何使用 GraphQL 获取 MySQL 所有表数据

javascript - 没有为 FingerprintJS 定义 ReferenceError 导航器

javascript - 如何使用 Multer 提交带有可选文件提交的表单?

javascript - Node.JS 回调关闭 websocket

javascript - node.js 事件发射器 : Listen for events across files

node.js - 使用 websocket 快速获取数据时 Angular 应用程序崩溃

javascript - 使用 Node js 进行 2 个异步查询

javascript - node.js socket.io 服务器延迟较长

angularjs - 使用Nodejs、Express和AngularJS在浏览器中显示IP