socket io显示重复的消息

时间:2013-06-29 12:30:23

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

我使用redis进行通知,它的工作原理如下 -

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

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

  

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

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

1 个答案:

答案 0 :(得分:1)

我想在每个连接上

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

您订阅了redis

redisClient.subscribe('activity:*');

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