ZMQ pub / sub订阅
我很难弄清楚如何使用ZMQ来订阅特定的“频道”,关于它的发布/订阅function。
这是出版商:
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除了空string('')的任何内容,订阅服务器不会收到来自发布服务器的任何消息。
如何正确configurationZMQ的pub / sub?
sub.subscribe('topic')
为您的订阅者套接字添加一个filter,以便您只接收以stringtopic
开头的消息。 您可以通过多次调用添加多个filter。 sub.subscribe('')
删除任何现有的filter,以便您的订阅者获取发布者发送的所有消息。
在你的代码中使用sub.subscribe('pub')
会在用户端产生消息。
zeromq.node GitHub中的pub / sub示例是了解订阅如何工作的好地方。