【发布时间】:2014-02-02 03:23:49
【问题描述】:
我使用客户端会话,而不是快速会话。我怎么能得到会话数据。会话存储在客户端,而不是服务器上。 我使用客户端会话模块https://github.com/mozilla/node-client-sessions
【问题讨论】:
我使用客户端会话,而不是快速会话。我怎么能得到会话数据。会话存储在客户端,而不是服务器上。 我使用客户端会话模块https://github.com/mozilla/node-client-sessions
【问题讨论】:
如果您想要客户端上的会话数据,您可以使用模块的内置功能。如果您在服务器上需要它,那么您可以在客户端获取信息,然后使用 socket.io 发出它,例如 socket.emit('sendSocketData', dataToSend);
【讨论】:
我找到了正确的答案,要从 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'])
解码对象保存你的会话数据
【讨论】: