Привет всем и спасибо за ваше время и вашу помощь.
Мне нужен простой пример использования socket.io-redis, пожалуйста, с комментариями. Документацию читал, но не понял. Спасибо,
Привет всем и спасибо за ваше время и вашу помощь.
Мне нужен простой пример использования socket.io-redis, пожалуйста, с комментариями. Документацию читал, но не понял. Спасибо,
В документации socket.io-redis не упоминается, что вам действительно нужно запустить сервер Redis, поэтому вы могли об этом забыть. Плагин socket.io-redis использует клиент pub/sub сервера redis для подключения нескольких экземпляров socket.io.
загрузите и установите сервер Redis с https://redis.io
добавьте плагин redis в свои экземпляры 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 }));
6379 — это порт redis по умолчанию, localhost, если вы запускаете node и redis на одном сервере.
добавьте функции socket.io и socket.io-redis, которые вам нужны
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);
});
});
});
Запустите сервер с помощью socket.io
server.listen(3000, function(){
logger.debug('listening on *:3000');
});