【发布时间】:2014-07-06 20:34:56
【问题描述】:
我试图在我的整个网络应用程序中保存会话数据,但我很难在任何地方获得相同的 sessionID。
这个sn-p代码中的sessionID有什么用(与express一起使用):
app.get('/test-page', function(req, res) {
console.log(req.sessionID);
});
每次打开页面时,我都会在这里获得一个新的 sessionID。
此外,我正在使用此代码从我的 socket.io 中的 cookie 获取 sessionID:
io.set('authorization', function(handshakeData, accept) {
if (handshakeData.headers.cookie) {
handshakeData.cookie = parseCookie(handshakeData.headers.cookie);
handshakeData.sessionID = handshakeData.cookie['express.sid'];
} else {
handshakeData.sessionID = -1;
}
accept(null, true);
});
io.sockets.on('connection', function(socket) {
console.log('client connected, ssID: ' + socket.handshake.sessionID);
});
如何在 app.get('/test-page',... 中获取相同的会话?反之亦然。
【问题讨论】:
-
您可以将 Seesion ID 附加到套接字对象中,然后在“连接”事件中也可以使用它
标签: node.js session express socket.io