socket.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /**
  2. * socket入口脚本文件
  3. *
  4. * @author caiaolin
  5. * @date 2017-05-12
  6. * @version
  7. */
  8. import socket from "socket.io";
  9. const socketIO = socket(3300);
  10. // socket.io相关操作
  11. socketIO.on('connection', function(socket) {
  12. let roomInfo = {};
  13. console.log("new connection");
  14. // 加入房间
  15. socket.on('join', function(data) {
  16. for(let key in data){
  17. roomInfo[key] = data[key];
  18. socket.join(data[key]);
  19. }
  20. });
  21. // 数据更改通知
  22. socket.on('unitFileChangeNotify', function(data) {
  23. socket.broadcast.to(roomInfo['unitFile']).emit('unitFileChange', data);
  24. });
  25. socket.on('feeRateChangeNotify', function(data) {
  26. socket.broadcast.to(roomInfo['feeRate']).emit('feeRateChange', data);
  27. });
  28. socket.on('changeNewRoom', function(data) {
  29. if(data.projectID){//如果有项目ID,则通知同一个项目在其它地方被打开的页面
  30. socket.broadcast.to(data.oldRoom).emit('changeFileNotify', data);
  31. }
  32. socket.leave(data.oldRoom);
  33. socket.join(data.newRoom);
  34. roomInfo[data.name]=data.newRoom;
  35. });
  36. socket.on('disconnect', function () {
  37. console.log("client disconnect =========="+JSON.stringify(roomInfo));
  38. });
  39. });