Ho un semplice server socket.io utilizzando socket.io-redis, un socket.io-emitter e eseguo redis (che è completamente nuovo per me, sono su windows, ho scaricato redis e open redis -server.exe e redis-cli.exe). Attraverso la CLI redis con il comando monitor
Vedo che il server è connesso e che gli eventi raggiungono redis dall'emettitore, ma test-server.js
non registra nulla. Cos'altro devo fare? Il server socket.io deve iscriversi ai redis?non si ricevono eventi con questo basic socket.io + redis setup?
Redis uscita "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);