123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- /**
- * socket入口脚本文件
- *
- * @author caiaolin
- * @date 2017-05-12
- * @version
- */
- import socket from "socket.io";
- const socketIO = socket(3300);
- // socket.io相关操作
- socketIO.on('connection', function(socket) {
- let roomInfo = {};
- console.log("new connection");
- // 加入房间
- socket.on('join', function(data) {
- for(let key in data){
- roomInfo[key] = data[key];
- socket.join(data[key]);
- }
- });
- // 数据更改通知
- socket.on('unitFileChangeNotify', function(data) {
- socket.broadcast.to(roomInfo['unitFile']).emit('unitFileChange', data);
- if(data.userID) socket.broadcast.to(data.userID).emit('fileDataChange', data);
- });
- socket.on('feeRateChangeNotify', function(data) {
- socket.broadcast.to(roomInfo['feeRate']).emit('feeRateChange', data);
- if(data.userID) socket.broadcast.to(data.userID).emit('fileDataChange', data);
- });
- socket.on('changeNewRoom', function(data) {
- if(data.projectID){//如果有项目ID,则通知同一个项目在其它地方被打开的页面
- socket.broadcast.to(data.oldRoom).emit('changeFileNotify', data);
- if(data.userID) socket.broadcast.to(data.userID).emit('fileDataChange', data);
- }
- socket.leave(data.oldRoom);
- socket.join(data.newRoom);
- roomInfo[data.name]=data.newRoom;
- });
- socket.on('removeProjectMark', function(data) {
- if(data.projectID && data.userID){
- socket.broadcast.to(data.userID).emit('refreshProjectIcon', data);
- }
- });
- socket.on('disconnect', function () {
- console.log("client disconnect =========="+JSON.stringify(roomInfo));
- });
- });
|