Mam prosty serwer socket.io używający socket.io-redis, socket.io-emitter, i uruchamiam redis (co jest dla mnie zupełnie nowe, jestem na windowsie, pobrałem redis i otworzyłem redis -server.exe i redis-cli.exe). Przez CLI redis za pomocą komendy monitor
Widzę, że serwer jest podłączony i że zdarzenia dochodzą do redis od emitera, ale test-server.js
nigdy nie rejestruje niczego. Co jeszcze muszę zrobić? Czy serwer socket.io musi subskrybować redis?nie odbieram zdarzeń z tym podstawowym setup.io + redis?
Redis wyjście "publish" "socket.io#/#" "\x93\xa7emitter\x83\xa4type\x02\xa4data\x92\xa4test\xa9some data\xa3nsp\xa1/\x82\xa5rooms\x90\xa5flags\x80"
test-server.js
var server = require('http').Server();
var io = require('socket.io')(server);
var redis = require('socket.io-redis');
io.adapter(redis({ host: '127.0.0.1', port: 6379 }));
io.on('connection', function(socket){
console.log('client connected'); // Works
socket.emit('connect','test'); // Works
});
io.on('test', function(socket){
console.log('test came in'); // Works
});
server.listen(3000);
test-emit.js
var io = require('socket.io-emitter')({
host:'localhost',
port:'6379'
});
setInterval(function(){
io.emit('test', 'some data');
console.log('emitted');
}, 5000);