Skip to content

Instantly share code, notes, and snippets.

@jamwaffles
Created January 24, 2013 09:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jamwaffles/4618929 to your computer and use it in GitHub Desktop.
Save jamwaffles/4618929 to your computer and use it in GitHub Desktop.
var express = require('express');
var app = express();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
app.get('/', function(req, res) {
res.sendfile(__dirname + '/index.html');
});
app.use('/public', express.static(__dirname + '/public'));
server.listen(80);
io.sockets.on('connection', function(socket) {
socket.broadcast.emit('status', { message: 'Someone connected' });
socket.on('send', function(data) {
socket.get('name', function(err, name) {
socket.broadcast.emit('receive', { message: data.message, user: name });
});
});
socket.on('set name', function(data) {
socket.set('name', data.name);
socket.broadcast.emit('status', { message: 'Someone is now known as ' + data.name });
socket.emit('status', { message: 'You are now known as ' + data.name });
});
socket.on('disconnect', function() {
socket.get('name', function(err, name) {
name = (name === null ? 'Someone' : name);
socket.broadcast.emit('status', { message: name + ' disconnected' });
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment