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示例是了解订阅如何工作的好地方。