/ / Ejemplo para usar socket.io-redis - redis, socket.io, socket.io-redis

Ejemplo para usar socket.io-redis - redis, socket.io, socket.io-redis

Hola a todos y gracias por su tiempo y su ayuda.

Necesito un ejemplo simple para usar socket.io-redis, con comentarios por favor. Leí la documentación, pero no entendí. Gracias,

Respuestas

1 para la respuesta № 1

La toma.La documentación de io-redis no menciona que realmente necesita ejecutar un servidor redis, por lo que puede haberlo olvidado. El complemento socket.io-redis usa el pub / sub cliente del servidor redis para conectar varias instancias de socket.io.

  1. descargar e instalar un servidor redis desde https://redis.io

  2. agrega el complemento redis a tus instancias de socket.io:

    var express = require("express");
    var app = express();
    var server = require("http").Server(app);
    var io = require("socket.io")(server);
    var redis = require("socket.io-redis");
    io.adapter(redis({ host: "localhost", port: 6379 }));
    

    El 6379 es el puerto redis predeterminado, localhost si ejecuta node y redis en el mismo servidor.

  3. Agregue las funciones socket.io y socket.io-redis que necesita.

    var your_namespace_socket = io.of("/your-namespace");
    your_namespace_socket.on("connection", function(socket){
    
    socket.on("join", function(room){
    socket.join(room);
    
    //log other socket.io-id"s in the room
    your_namespace_socket.adapter.clients([room], (err, clients) => {
    console.log(clients);
    });
    });
    });
    
  4. Iniciar el servidor con socket.io

    server.listen(3000, function(){
    logger.debug("listening on *:3000");
    });