Skip to content

Instantly share code, notes, and snippets.

@jmaicher
Created November 4, 2012 15:10
Show Gist options
  • Save jmaicher/4012231 to your computer and use it in GitHub Desktop.
Save jmaicher/4012231 to your computer and use it in GitHub Desktop.
$(function() {
var socket = io.connect('/speaker');
socket.on('connect', function() {
// send session to server
socket.emit('join', { session_id: session.get('id') });
socket.on('join.success', function(data) {
$(document).on('deck.change', slideChange);
});
socket.on('join.failure', function(data) {
console.log(data);
});
});
socket.on('slide.change', function(data) {
$(document).off('deck.change', slideChange);
$.deck('go', data.to);
$(document).on('deck.change', slideChange);
});
socket.on('disconnect', function() {
console.log('Oh boy, that is not good!');
});
var slideChange = function(event, from, to) {
socket.emit('slide.change', { session_id: session.get('id'), from: from, to: to });
}
});
io.of('/speaker').on('connection', function(socket) {
socket.on('join', function(data) {
var session_id = data.session_id,
session = global.sessions.get(session_id);
if(session) {
// socket joins session room
socket.join(session_id);
socket.emit('join.success', { 'you': { 'id': 1 } });
// allow slide change
socket.on('slide.change', function(data) {
session.set('slide', data.to);
socket.broadcast.to(session_id).emit('slide.change', data);
});
} else {
socket.emit('join.failure', { 'reason': 'Fuck off, dude!' });
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment