我在redis上收到一条消息,我正在尝试使用服务器上的以下节点代码发出它:
var server = require('http').Server();
var io = require('socket.io')(server);
var Redis = require('ioredis');
var redis = new Redis();
redis.subscribe('test-channel', function() {
console.log('I just subscribed to channel waiting for messages ...');
});
redis.on('message', function(channel, message){
message = JSON.parse(message);
console.log(channel, message);
io.emit(channel + ':' + message.event, message.data);
// another test emit
io.emit('test', 'hi!');
});
server.listen(3500);
这是我负责获取消息的客户端代码:
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.7/socket.io.min.js"></script>
var socket = io('http://localhost:3500');
socket.on('test-channel:App\\Events\\PacketArrived', function (data){
console.log('yes! I got it!');
console.log(data);
});
socket.on('test', function (data){
console.log('yes! I got it!');
console.log(data);
} );
我得到 redis.on('message'... 部分的日志,但不幸的是,我在客户端套接字日志上没有得到任何内容。 我没有收到任何错误消息要调试。