redisClient.on('message')中触发的多个事件

时间:2015-01-29 23:30:55

标签: javascript python django node.js redis

我正在尝试通过redis与Django和Node.js进行通信,但是当我尝试在Node.js中获取on('message')事件时,我得到了2次事件......

我有这个:

io.sockets.on('connection', function (socket) {

//Subscribe to chat channel
sub.subscribe('chat');

//Get the event 'message' from Django
sub.on('message', function(channel, message){
        console.log("counter");
    });
.
.
.

我打印“计数器”3次,当我从另一个客户端连接时,我得到4,5,6,......

我怎样才能举办活动?

2 个答案:

答案 0 :(得分:0)

确保您正在聆听正确的频道

sub.on('message', function(channel, message){
    switch (channel) {
      case 'chat':
           console.log("counter");
           break;
    }
});

答案 1 :(得分:0)

在socket.io connection侦听器中添加侦听器,因此每次打开新连接时,都会再次附加侦听器。只需将message侦听器附加到connection侦听器之外。