Używam WebSockets npm install ws
na tym samym porcie, na którym działa Express.Jak mogę uzyskać (Express's) sessionID dla połączenia z internetem
Chciałbym odebrać skojarzone "sessionID" z połączenia HTTP, które właśnie zostało wykonane i uaktualnione do WebSocket.
// 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');
});
Jak można tego dokonać?
(I obecnie obejść ten problem poprzez wysłanie sessionid na stronie, ale to jest brzydkie.)
to jest na dobrej drodze, ale nie ma „sid” ciasteczko. Istnieją: 'connect.sid: n8Pbh5hPhNNC3B6PAkyuaRgv.o9wnmI3fiJ47kJMUfW0xVcMRkhjFkMbgvki/CTtemvU' i' sessionid: 12d2b0c6f3c3eb661215a401d1942122'. Który z nich jest kluczem do sesji, a jaki jest drugi? – fadedbee
"connect.sid" to domyślny klucz do ekspresowego pliku cookie. W powyższym kodzie ekspres był skonfigurowany, a klucz sesji to "sid" ... jeśli nie dostosujesz go, klucz to "connect.sid". – nguyenkha
Ach, moja wina za wklejenie tylko połowy kodu. – fadedbee