如何在socket.io中处理客户端会话

时间:2014-01-14 06:26:49

标签: node.js session socket.io

我使用客户端会话,而不是快速会话。我怎样才能得到会话数据。会话存储在客户端上,而不是在服务器上。 我使用客户端会话模块https://github.com/mozilla/node-client-sessions

2 个答案:

答案 0 :(得分:2)

我找到了正确的答案,从cookie获取会话,首先你应该解析cookie

handshakeData.cookie = cookie.parse(handshakeData.headers.cookie);

您必须解码cookie,我使用了来自客户端会话模块的原始功能

var clientSessions = require('./node_modules/client-sessions/lib/client-sessions')

    var opts = { 
      cookieName: 'yourSessionName'
      , secret: 'secret'
    }
    var decoded = clientSessions.util.decode(opts, handshakeData.cookie['yourSessionName']) 

已解码对象保存您的会话数据

答案 1 :(得分:0)

如果您想在客户端上使用会话数据,则可以使用该模块的内置功能。如果你需要在服务器上,那么你可以在客户端获取信息,然后使用socket.io发出它,类似于socket.emit('sendSocketData',dataToSend);