var app = require('express')();
var path = require('path');
var http = require('http').Server(app);
var io = require('socket.io')(http);
var socketList = {};
//io.set('log level', 1);
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
io.sockets.on('connection', function (socket){
console.log('connection........');
socket.on('room', function (nn) {
try {
var roomId = nn.split('|')[0];
var isTeacher = nn.split('|')[1];
var studentId = nn.split('|')[2];
}catch(e){return false;}
socket.join(roomId);
if(socketList[roomId] == undefined) {
socketList[roomId] = {};
socketList[roomId] ['roomnum'] = roomId;
}
if(isTeacher == 'false') {
socketList[roomId] [studentId] = {};
socketList[roomId] [studentId]['socketid'] = socket.id;
socketList[roomId] [studentId]['isonline'] = 'true';
socketList[roomId] [studentId]['locked'] = 'true';
}
io.sockets.in(roomId).emit('request_list_ans',socketList[roomId] );
socket.on('send_message', function (msg){
io.sockets.in(roomId).emit('send_message', msg);
});
socket.on('request_list', function (msg){
var roomId = msg.split('|')[0];
io.to(socket.id).emit('request_list_ans',socketList[roomId] );
});
socket.on('operate_all', function (msg){
console.log(1);
var roomId = msg.split('|')[0];
var lockInfo = msg.split('|')[1];
for(var key in socketList[roomId]){
console.log('key:' + key);
if(key!='roomnum')
socketList[roomId][key]['locked']=''+lockInfo;
}
io.to(socket.id).emit('operate_all_ans','ok' );
io.sockets.in(roomId).emit('send_lockInfo', lockInfo);
});
socket.on('operate_spec', function (msg){
var roomId = msg.split('|')[0];
var studentId = msg.split('|')[1];
var lockInfo = msg.split('|')[2];
if (socketList[roomId] [studentId]) { //当前用户存在在发送锁定信息
console.log(lockInfo);
socketList[roomId] [studentId]['locked'] = lockInfo;
io.to(socket.id).emit('operate_spec_ans','ok' );
io.to(socketList[roomId] [studentId]['socketid'] ).emit('send_lockInfo',lockInfo );
}
});
socket.on('client_status', function (msg){
var roomId = msg.split('|')[0];
var studentId = msg.split('|')[1];
var onlineInfo = msg.split('|')[2];
socketList[roomId] [studentId]['isonline'] = ''+onlineInfo;
io.sockets.in(roomId).emit('request_list_ans',socketList[roomId] );
});
socket.on("disconnect",function(){
delete socketList[roomId] [studentId];
console.log(socketList[roomId]);
io.sockets.in(roomId).emit('request_list_ans','001' );
});
});
});
http.listen(8091, function(){
console.log('listening on *:8091');
});
var app = require('express')();
var path = requ