Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 

48 righe
903 B

  1. //Imports
  2. const router = require('../security/router');
  3. //Events
  4. const onHandshake = socket => {
  5. cons.onHandshake(socket);
  6. };
  7. const onDisconnect = socket => {
  8. cons.onDisconnect(socket);
  9. };
  10. const onRequest = (socket, msg, callback) => {
  11. msg.callback = callback;
  12. if (!msg.data)
  13. msg.data = {};
  14. const source = cons.players.find(p => p.socket.id === socket.id);
  15. if (!router.isMsgValid(msg, source))
  16. return;
  17. if (msg.cpn)
  18. cons.route(socket, msg);
  19. else if (msg.threadModule)
  20. cons.route(socket, msg);
  21. else {
  22. msg.socket = socket;
  23. if (source)
  24. msg.data.sourceId = source.id;
  25. cons.routeGlobal(msg);
  26. }
  27. };
  28. const onConnection = socket => {
  29. socket.on('handshake', onHandshake.bind(null, socket));
  30. socket.on('disconnect', onDisconnect.bind(null, socket));
  31. socket.on('request', onRequest.bind(null, socket));
  32. socket.emit('handshake');
  33. };
  34. //Exports
  35. module.exports = onConnection;