我正在使用WebSocket npm install ws
與Express運行在同一端口上。如何獲得(Express)會話ID以用於WebSocket連接
我想從剛建立並升級到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');
});
這怎麼辦?
(我目前解決該問題通過在頁面發送會話ID,但是這是醜陋的。)
這是在正確的軌道上,但沒有'sid'cookie。有:'connect.sid:n8Pbh5hPhNNC3B6PAkyuaRgv.o9wnmI3fiJ47kJMUfW0xVcMRkhjFkMbgvki/CTtemvU'和'sessionid:12d2b0c6f3c3eb661215a401d1942122'。其中哪一個是會話的關鍵,另一個是什麼? – fadedbee 2012-07-18 14:16:22
'connect.sid'是快速cookie的默認鍵。在上面的代碼中,表示配置的會話密鑰是'sid'...如果你不定製它,密鑰是'connect.sid'。 – nguyenkha 2012-07-18 14:23:59
啊,我的錯只是粘貼了一半的代碼。 – fadedbee 2012-07-18 14:25:39