How to use Socket-Session
Setting up Socket-Session
To use the session system, you must first install socket.io. You should probably also have express or something running, I haven't tested without it, but assuming you do have it working, you should install this package.
npm install socket-session-server
Then, require the package
var session = require("socket-session-server");
Next, initialize the package (this can be done anywhere before the code is run)
session.init();
Finally, you'll want to affix the individual events to their proper triggers. I did it this way instead of having a system of affixing everything automatically because this would overwrite the individual events. So, you'll want to do something like this.
io.on('connection', function(socket){
//your code here
session.affixConnect(socket);
//your code here
socket.on('disconnect', function(){
//your code here
session.affixDisconnect(socket);
//your code here
})
})
The server should be working now.
getting and setting variables stored in session
To get the variables of each socket, you'll first want to lookup their "Key" or position in the clients array. To do this, run the code
key = session.getKeyFromSocket( socket.id);
this can be socket.id comes from the data passed from socket.io's connection argument.
Alternatively, you can get the key from the session id:
key = getKeyFromSession( /* Session ID */)
both return key = -1 for no client found. Make sure you test for this as it will cause problems down the line if you try a -1 key. When you have the key, you can look up the variables you've decided to store in it with
data = session.clients[key].sessiondata
sessiondata is an object. feel free to write data to the session in the same way.
Remember to make sure that the client has a working version of socket-session-client.