【问题标题】:Duplicate message shown by socket io套接字 io 显示的重复消息
【发布时间】:2013-06-29 12:30:23
【问题描述】:

我正在使用 redis 进行通知,它的工作原理是这样的 -

当 user1 有通知要与他的朋友分享时,我将该消息发布到该用户每个朋友的所有频道。使用 socket.io 和 node,消息被推送给每个朋友,因为订阅部分是使用 node 处理的。

在连接丢失之前,这可以正常工作。 此时,在重新连接时,我发现朋友的频道发生了 2 次发布而不是 1 次发布,尽管像上一个案例一样只发生了 1 次活动..

他们是否有任何可以避免重复发布的配置 重新连接?

还发现,在重新连接时,它也在尝试使用辅助传输进行连接.. 这可能是问题吗?

【问题讨论】:

  • 这个答案对stackoverflow.com/a/16796375/568109有帮助吗?
  • 我试过了,还没解决..
  • 你找到解决办法了吗?
  • 这里有同样的问题。每次重新连接都会为每个 .emit() 增加 1 条额外消息
  • 使用 jquery "once" 解决了它..

标签: node.js redis node-redis socket.io phpredis


【解决方案1】:

我想在每个连接上

io.sockets.on('connection', function(client){
//...
});

你订阅了 redis

redisClient.subscribe('activity:*');

不需要每次都连接redis。您应该在套接字连接之前连接到 redis。

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多