Я использую версию node js 4.2.6 и версию 1.4.5 socket.io. Я использую модуль socket.io-redis в качестве адаптера для socket.io. У меня есть два сервера с портами 3000 и 4000. Я добавил таймер для печати общего количества сокетов подключения, как показано ниже.
var socketio = require('socket.io')
var redis = require('socket.io-redis'),
io=socketio.listen(server);
io.adapter(redis({ host: '127.0.0.1', port: 6379 }));
setInterval(function() {
console.log("The total sockets are:::::::::::::", Object.keys(io.sockets.connected).length);
}, 5000 );
На одном сервере я получаю правильное количество клиентов, но на другом я получаю 0. Как синхронизировать клиентов socket.io между сервером.
socket.io-redis
не будет синхронизировать сокеты/соединения, это позволит вам получить доступ к клиентам, подключенным к разным серверам (которые обычно являются физическими серверами). - person robertklep   schedule 02.08.2016