Skip to content

Instantly share code, notes, and snippets.

@benhaan
Created March 13, 2012 04:20
Show Gist options
  • Save benhaan/2026700 to your computer and use it in GitHub Desktop.
Save benhaan/2026700 to your computer and use it in GitHub Desktop.
var sio = require('socket.io');
var io = sio.listen(8080);
global.channels = [];
var lobby = io.of('/lobby')
.on('connection', function (lobby_socket) {
lobby_socket.on('join channel', function (channel_name, channel_cb) {
global.channels[channel_name] = io.of('/' + channel_name).authorization(function (handshakeData, auth_cb) {
auth_cb(null, true);
});
channel_cb({'channel_id':channel_name});
lobby_socket.leave();
global.channels[channel_name].on('connection', function (channel_socket) {
channel_socket.on('join room', function (room) {
channel_socket.join(room);
});
channel_socket.on('chat message', function (msg) {
channel_socket.broadcast.to(msg.room).emit('chat message', msg.msg);
});
});
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment