Skip to content

Instantly share code, notes, and snippets.

@DarkSeraphim
Created October 14, 2014 21:06
Show Gist options
  • Save DarkSeraphim/1c6d5e8c30510f1d7085 to your computer and use it in GitHub Desktop.
Save DarkSeraphim/1c6d5e8c30510f1d7085 to your computer and use it in GitHub Desktop.
organized socket.io
var express = require('express');
// ...
var app = express();
// ...
var server = app.listen(80, function()
{
console.log("Listening on port ", (server.address().port));
});
// Early binding:
var io = require('/socket.io').bind(server);
// Or late binding:
var io = require('/socket.io').init(server);
// << Do stuff with io >>
io.bind();
var events = [];
function register(event)
{
events.push(require("/"+event));
}
register('login');
var io;
var init = function(server)
{
if(!server)
throw new Error("server cannot be null.");
return (io = require('socket.io')(server));
};
module.exports.init = init;
module.exports.bind = function(server)
{
if(!io)
init(server);
io.on('connection', function(socket)
{
events.forEach(function(event)
{
event.listen(socket);
});
});
}
moduke.exports.listen = function(socket)
{
socket.on('login', function(data)
{
// Removed for security reasons
});
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment