【发布时间】:2016-11-19 05:02:03
【问题描述】:
我在nodejs中有一个简单的发布/订阅模式示例程序,如下所示
publisher.js
var zmq = require('zmq');
var pub = zmq.socket('pub');
pub.bind('tcp://127.0.0.1:6666');
console.log("Current 0MQ version is " + zmq.version);
var loop =0
pub.send(['t',loop++ + ' pub msg']);
pub.send(['t',loop++ + ' pub msg']);
subber.js
var zmq = require('zmq');
var sub = zmq.socket('sub');
sub.connect('tcp://127.0.0.1:6666');
sub.subscribe('t'); //herein lies the question
console.log('Received msg:');
sub.on('message',function(topic, msg){
console.log('Received msg:',msg.toString());
})
两天后我开始理解一些意想不到的行为
1:我第一次运行 subber.js,然后 publisher.js 我会按预期收到消息
2:再次,如果我以相同的顺序运行,我不会收到任何消息(subber.js 和 publisher.js)
3:首先我运行 publisher.js 然后 subber.js 我不会收到任何消息
真的我不了解示例程序是否工作请帮助我通过一些示例代码了解 zmq 的发布者订阅者模式(**在示例中,一旦发布者发送我发送的消息,我就没有使用 setinterval bcoz订阅者请提供一些示例来理解并完成此操作)
谢谢
【问题讨论】:
标签: node.js design-patterns publish-subscribe messages