Session middleware for socket.io v1.x;
var socketSessions = require('socket.io-handshake');
var io = require('socket.io')(3000);
io.use( socketSessions() );
Using connect-redis for our session store.
var session = require('express-session');
var RedisStore = require('connect-redis')(session);
var sessionStore = new RedisStore();
var cookieParser = require('cookie-parser');
var socketHandshake = require('socket.io-handshake');
var io = require('socket.io')(3000);
io.use(socketHandshake({store: sessionStore, key:'sid', secret:'secret', parser:cookieParser()}));
To access the session data.
io.on('connection' function (sock) {
if (!sock.handshake.session.name) {
sock.emit('get name');
};
sock.on('set nama', function (name) {
sock.handhsake.session.name = name;
sock.handshake.session.save();
});
});
Install node.js (See download and install instructions here: http://nodejs.org/).
Clone this repository
> git clone [email protected]:turbonetix/socket.io-handshake.git
cd into the directory and install the dependencies
> cd socket.io-handshake
> npm install && npm shrinkwrap --dev
Install coffee-script
> npm install coffee-script -g
Tests are run using grunt. You must first globally install the grunt-cli with npm.
> sudo npm install -g grunt-cli
To run the tests, just run grunt
> grunt spec