Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Beispiel für die Verwendung von socket.io-redis

In der socket.io-redis-Dokumentation wird nicht erwähnt, dass Sie tatsächlich einen Redis-Server ausführen müssen, sodass Sie das möglicherweise vergessen haben. Das Plug-in socket.io-redis verwendet den Pub/Sub-Client des Redis-Servers, um mehrere socket.io-Instanzen zu verbinden.

  1. Laden Sie einen Redis-Server von https://redis.io

    herunter und installieren Sie ihn
  2. fügen Sie das Redis-Plugin zu Ihren socket.io-Instanzen hinzu:

    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 }));
    

    6379 ist der Standard-Redis-Port, localhost, wenn Sie Node und Redis auf demselben Server ausführen.

  3. Fügen Sie socket.io- und socket.io-redis-Funktionen hinzu, die Sie benötigen

    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. Starten Sie den Server mit socket.io

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