gpt4 book ai didi

node.js - ZMQ 发布/订阅订阅

转载 作者:可可西里 更新时间:2023-11-01 02:48:50 27 4
gpt4 key购买 nike

关于 ZMQ 的发布/订阅功能,我无法弄清楚如何订阅一个特别的“ channel ”。

这是发布者:

var zmq = require('zmq');
var pub = zmq.socket('pub');

pub.bindSync('tcp://127.0.0.1:5555');

setInterval(function(){
pub.send('pub msg');
},500);

这是订阅者:

 var sub = zmq.socket('sub');
sub.connect('tcp://127.0.0.1:5555');

sub.subscribe(''); //herein lies the question

sub.on('message',function(msg){
console.log('Received msg:',msg);
}

这按原样工作,但问题是如果我将 sub.subscribe 的参数更改为空字符串 ('') 以外的任何内容,订阅者将不会收到来自发布者的任何消息。

如何使用 ZMQ 正确配置发布/订阅?

最佳答案

sub.subscribe('topic') 向您的订阅者套接字添加一个过滤器,以便您只接收以字符串 topic 开头的消息。您可以通过多次调用来添加多个过滤器。 sub.subscribe('') 删除任何现有过滤器,以便您的订阅者获得发布者发送的所有消息。

在您的代码中使用 sub.subscribe('pub') 会在订阅者端产生消息。

pub/sub example在 zeromq.node GitHub 中是了解订阅工作原理的好地方。

关于node.js - ZMQ 发布/订阅订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29907608/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com