// Express modules requirements var express = require('express') , http = require('http') , path = require('path'); // Socket.IO module var io = require('socket.io'); // Some tweakering to get ot to work with Express 3 var app = express(); var server = http.createServer(app); var io = io.listen(server); io.set('log level', 1); // Basic Express configuration app.configure(function(){ app.set('port', process.env.WWW_PORT || 7000); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(path.join(__dirname, 'public'))); }); app.configure('development', function(){ app.use(express.errorHandler()); }); // Main route to deliver the static html app.get('/',function(req, res){ res.render('index'); }); // Object/dictionary in which we store the differents sockets var clouds = {}; // callback for websocket disconnetion var disconnetion = function() { console.log("Lost connection: " + socket.id); }; // callback for new websocket connection var connection = function(socket){ console.log("New connection: " + socket.id); // bind disconnect event socket.on('disconnect', disconnetion); }; // bind new connection event io.sockets.on('connection', connection); // Let's start the server server.listen(app.get('port'), function(){ console.log("Express server listening on port " + app.get('port')); });