Slide 25
Slide 25 text
SERVER CODE
var spawn = require('child_process').spawn
, express = require('express')
, app = express()
, server = require('http').createServer(app)
, io = require('socket.io').listen(server);
app.use(express.static(__dirname + '/../reveal.js'));
server.listen(4444);
io.sockets.on('connection', function (socket) {
socket.on('run', function (data) {
runit(data, function (output) {
socket.emit('result', output);
})
});
});
function runit(options, cb) {
var run = spawn('node', options)
, output = "";
var append = function (val) { output += val };
run.stdout.on('data', append);
run.stderr.on('data', append);
run.on('exit', function (code) {
if (code !== 0) output += 'EXITED WITH CODE: ' + code;
cb(output);
});
}