内容简介: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连接》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 长时间运行下JPA无法获取druid数据库连接
- ADO.NET获取数据(DataSet)同时获取表的架构实例
- 根据 PID 获取 K8S Pod名称 - 反之 POD名称 获取 PID
- .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
- tcp 长连接与短连接
- 没有 HTTP 连接池,空谈什么持久连接
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。