我正在尝试通过redis与Django和Node.js通信,但是当我尝试在redis中获取on('message')事件时,我得到了两次事件……
我有这个:
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,...
我如何才能只获取一次事件?
发布于 2015-01-30 08:10:10
确保你在正确的频道上收听
sub.on('message', function(channel, message){
switch (channel) {
case 'chat':
console.log("counter");
break;
}
});发布于 2015-01-30 12:54:37
您可以在socket.io connection listener中添加一个listener,因此每次打开新连接时都会再次连接该listener。只需将message侦听器附加到connection侦听器外部即可。
https://stackoverflow.com/questions/28226675
复制相似问题