Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Exemplo para usar socket.io-redis


A documentação do socket.io-redis não menciona que você realmente precisa executar um servidor redis, então você pode ter esquecido isso. O plug-in socket.io-redis usa o cliente pub/sub do servidor redis para conectar várias instâncias do socket.io.

  1. baixe e instale um servidor redis em https://redis.io

  2. adicione o plugin redis às suas instâncias do 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 }));
    

    O 6379 é a porta redis padrão, localhost se você executar node e redis no mesmo servidor.

  3. adicione as funções socket.io e socket.io-redis que você precisa
    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. Inicie o servidor com socket.io
    server.listen(3000, function(){
       logger.debug('listening on *:3000');
    });