Note that there are some explanatory texts on larger screens.

plurals
  1. POExpress - socket.io - reading session
    primarykey
    data
    text
    <p>I use express and socket.io.</p> <p>When you create a session with the express - post. Click the button and using Ajax and the POST method (login), I save a session.</p> <pre><code> app.post('/login', function(req, res){ req.session.loginid = req.body.lgnid; }); </code></pre> <p>In socket.io it can not read.</p> <p>Thanks for the advice.</p> <p>My source code.:</p> <pre><code>var express = require('express'); var app = express.createServer(); var io = require('socket.io').listen(app); var MemoryStore = express.session.MemoryStore; var sessionStore = new MemoryStore(); var parseCookie = require('connect').utils.parseCookie; var Session = require('connect').middleware.session.Session; var stylus = require('stylus'); app.use(express.bodyParser()); app.use(express.cookieParser()); app.use(express.session({store: sessionStore , secret: 'secret' , key: 'express.sid'})); app.use(stylus.middleware({ src: __dirname + '/public', compile: compile })) app.use(express.static(__dirname + '/public')); app.set('views', __dirname); // disable layout app.set("view options", {layout: false}); // make a custom html template app.register('.html', { compile: function(str, options){ return function(locals){ return str; }; } }); function compile (str, path) { return stylus(str) .set('filename', path) .use(nib()); }; var Session = require('connect').middleware.session.Session; sio.set('authorization', function (data, accept) { if (data.headers.cookie) { data.cookie = parseCookie(data.headers.cookie); data.sessionID = data.cookie['express.sid']; // save the session store to the data object // (as required by the Session constructor) data.sessionStore = sessionStore; sessionStore.get(data.sessionID, function (err, session) { if (err || !session) { accept('Error', false); } else { // create a session object, passing data as request and our // just acquired session data data.session = new Session(data, session); accept(null, true); } }); } else { return accept('No cookie transmitted.', false); } }); </code></pre> <p><strong>How to load and save data from sessionStore?</strong></p> <pre><code>io.sockets.on('connection', function (socket) { var hs = socket.handshake; console.log('Session : ' + hs.session.loginid + '); //Session : undefined }); </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload