如何使用expressID和socket.io的sessionID

时间:2014-05-19 00:49:21

标签: node.js session express socket.io

我正在尝试在整个网络应用中保存会话数据,但我很难在任何地方获得相同的会话ID。

在这段代码中使用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',...?反之亦然。

1 个答案:

答案 0 :(得分:0)

我从来没有弄清楚这一点,但你总是可以重写express.io

结帐sessions example,似乎正是您所需要的。