em.getSocketsData = function(){ var data = []; for(var socketId in em._sockets) { data.push(em._socketData(em._sockets[socketId])); } return data; }
var gotRoom = function(room){ console.log('gotRoom called with ',room); // Tell the current video server user about the new user, if that isn't the new user. var currentRoomServer = room.get('server'); console.log('CURRENT ROOOM SERVER ',currentRoomServer,newMemberId); if(currentRoomServer != newMemberId) { var roomServerSocket = z.getSocketBySocketMemberId(currentRoomServer); if(roomServerSocket !== null) { roomServerSocket.get('socket').emit('start_server', {connectionIds: [newMemberId]}); } } // Let the new user know about everyone. console.log('GET MEMBERS!!! ',room.get('members')); room.get('members').forEach(function(memberId) { var s = z.getSocketBySocketMemberId(memberId); var soc = em._socketData(s); console.log('add_member',soc.member.id); socket.emit('add_member', {id:soc.member.id,socket:soc}); }); // Let the existing users each know about the new user. var mySocInfo = em._socketData(z._sockets[socket.id]); for(var socketId in z._sockets) { if(z._sockets[socketId].get('room') == room.get('id')) { z._sockets[socketId].get('socket').emit('add_member', {id:mySocInfo.member.id,socket:mySocInfo}); } } if(cb) cb(null,room); };
room.get('members').forEach(function(memberId) { var s = z.getSocketBySocketMemberId(memberId); var soc = em._socketData(s); console.log('add_member',soc.member.id); socket.emit('add_member', {id:soc.member.id,socket:soc}); });
z.createRoom(socket, data, function(err,data){ if(err) return cb(err+' failed to create room.'); var soc = em._socketData(z._sockets[socket.id]); socket.emit('add_member', {id:soc.member.id,socket:soc}); });