Saltar al contenido

¿Puedo separar los detectores de eventos de socket.io en diferentes módulos?

Juliana, parte de este equipo, nos hizo el favor de crear este artículo porque conoce perfectamente dicho tema.

Solución:

Por lo general, divido varias funciones relacionadas con el cliente (generalmente las llamo controladores) en módulos individuales, y luego require y utilícelos en cualquier archivo que cree la conexión socket.io.

Aquí hay un módulo de ejemplo, que exporta una función que espera pasar a un cliente socket.io:

/* register-handler.js */
module.exports = function (client) 
  // registration related behaviour goes here...
  client.on('register', function (data) 
    // do stuff
  );
;

Que es consumido por un archivo que crea un nuevo socket, escucha las conexiones y las pasa al controlador, que luego escucha los eventos en el cliente.

/*  main.js */
// require your handlers
var handleRegister = require('./register-handler');

// .. set up socket.io

socket.on('connection', function (client) 
  // register handlers
  handleRegister(client);
);

Aquí hay una manera

socket.on("connection", function (client) 

    console.log("Client connected to socket!");

    require('./login')(socket, client);
    require('./register')(socket, client);
);

iniciar sesión.js

module.exports = function(socket, client) 
    client.on("login", function (data) 

        validate(data)

            socket.sockets.emit("login_success", data);

        

    );
;

Aquí puedes ver las reseñas y valoraciones de los usuarios

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *