node.js – 如何获取(Express的)sessionID的websocket连接

栏目: Node.js · 发布时间: 7年前

内容简介:http://stackoverflow.com/questions/11541835/how-can-i-get-expresss-sessionid-for-a-websocket-connection

我正在Express Express运行的同一端口上使用WebSockets npm install ws.

我想从刚刚制作并升级到WebSocket的HTTP连接中提取相关联的“sessionID”.

// start express listening
server.listen(conf.server.port, conf.server.host);

var WebSocketServer = require('ws').Server
  , wss = new WebSocketServer({server: server});

wss.on('connection', function(ws) {
    var sessionID = // how do I get this?
    ws.on('message', function(message) {
        console.log('received: %s', message);
    });
    ws.send('something');
});

如何才能做到这一点?

(我目前通过在页面中发送sessionID来解决问题,但这是丑陋的.)

>解析cookie

>获取会话ID

>获取会话数据

var express = require('express');
var parseCookie = express.cookieParser();
var MemoryStore = express.session.MemoryStore;

var store = new MemoryStore();

app.configure(function() {
    app.use(express.session({ store: store, secret: '123456', key: 'sid' }));
});

wss.on('connection', function(ws) {
    parseCookie(ws.upgradeReq, null, function(err) {
        var sessionID = ws.upgradeReq.cookies['sid'];
        store.get(sessionID, function(err, session) {
            // session
        });
    }); 

    ws.on('message', function(message) {
        console.log('received: %s', message);
    });
    ws.send('something');
});

http://stackoverflow.com/questions/11541835/how-can-i-get-expresss-sessionid-for-a-websocket-connection


以上所述就是小编给大家介绍的《node.js – 如何获取(Express的)sessionID的websocket连接》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

离散数学及其应用(原书第5版)

离散数学及其应用(原书第5版)

[美] Kenneth H. Rosen / 袁崇义 / 机械工业出版社 / 2007-6 / 79.00元

《离散数学及其应用》(原书第5版)全面而系统地介绍了离散数学的理论和方法,内容涉及数学推广、组合分析、离散结构和算法设计。全书取材广泛,除包括定义、定理的严密陈述外,还配备大量的实例和图表的说明,各种联系和题目。以及丰富的历史资料和网站资源。第5版在前四版的基础上作了大量的改进,使其成为更有效的教学工具。。一起来看看 《离散数学及其应用(原书第5版)》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器