Socket.io-redis-dokumentationen nævner ikke, at du faktisk skal køre en redis-server, så du har måske glemt det. Socket.io-redis-pluginnet bruger redis-serverens pub/sub-klient til at forbinde flere socket.io-instanser.
-
download og installer en redis-server fra https://redis.io
-
tilføj redis-plugin'et til dine socket.io-forekomster:
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 er standard redis-porten, localhost, hvis du kører node og redis på den samme server.
-
tilføje socket.io og socket.io-redis funktioner, du har brug for
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 serveren med socket.io
server.listen(3000, function(){ logger.debug('listening on *:3000'); });