socket.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. roomInfo[data.name] = data.value;
  17. socket.join(data.value);
  18. });
  19. // 数据更改通知
  20. socket.on('unitFileChangeNotify', function(data) {
  21. console.log(roomInfo);
  22. socket.broadcast.to(roomInfo['unitFile']).emit('unitFileChange', data);
  23. });
  24. socket.on('feeRateChangeNotify', function(data) {
  25. socket.broadcast.to(roomInfo['feeRate']).emit('feeRateChange', data);
  26. });
  27. socket.on('changeNewRoom', function(data) {
  28. if(data.projectID){//如果有项目ID,则通知同一个项目在其它地方被打开的页面
  29. socket.broadcast.to(data.oldRoom).emit('changeFileNotify', data);
  30. }
  31. socket.leave(data.oldRoom);
  32. socket.join(data.newRoom);
  33. roomInfo[data.name]=data.newRoom;
  34. });
  35. });