首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消息中触发了多个事件(‘redisClient.on’)

消息中触发了多个事件(‘redisClient.on’)
EN

Stack Overflow用户
提问于 2015-01-30 07:30:55
回答 2查看 501关注 0票数 0

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

我有这个:

代码语言:javascript
复制
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,...

我如何才能只获取一次事件?

EN

回答 2

Stack Overflow用户

发布于 2015-01-30 08:10:10

确保你在正确的频道上收听

代码语言:javascript
复制
sub.on('message', function(channel, message){
    switch (channel) {
      case 'chat':
           console.log("counter");
           break;
    }
});
票数 0
EN

Stack Overflow用户

发布于 2015-01-30 12:54:37

您可以在socket.io connection listener中添加一个listener,因此每次打开新连接时都会再次连接该listener。只需将message侦听器附加到connection侦听器外部即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28226675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档