De socket.io-redis-documentatie vermeldt niet dat u een redis-server moet gebruiken, dus u bent dat misschien vergeten. De plug-in socket.io-redis gebruikt de pub/sub-client van de redis-server om meerdere socket.io-instanties te verbinden.
-
download en installeer een redis-server van https://redis.io
-
voeg de redis-plug-in toe aan uw socket.io-instanties:
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 }));
De 6379 is de standaard redis-poort, localhost als je node en redis op dezelfde server uitvoert.
-
voeg socket.io en socket.io-redis functies toe die je nodig hebt
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); }); }); });
-
Start de server met socket.io
server.listen(3000, function(){ logger.debug('listening on *:3000'); });