Я пытаюсь реализовать паб/к югу, как показано нижеиздатель шаблон subscribber в nodejs код sampel не woring с вне setinterval
publisher.js
var zmq = require('zmq');
var pub = zmq.socket('pub');
pub.bindSync('tcp://127.0.0.1:5555');
pub.send('pub msg');
/*
setInterval(function(){
console.log("sending message")
},500);*/
subscriber.js
var zmq = require('zmq');
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);
})
вышеуказанный абонент получит сообщение только в том случае, если pub.send('pub msg');
находится внутри setInterval не уверен в моем понимании
Я не хочу использовать setInterval, а я должен послать сообщение, как только он прибыл
Пожалуйста сказать, как я могу сделать это с помощью паб/суб только я предполагаю, что есть некоторые базовые знания отсутствуют, пожалуйста, помогите
в nodejs код я пытаюсь используя маршрут имеет
router.post('/putMsgIn0MQ', function (req, res, next) {
pushData(JSON.stringify(req.body))
})
var pushData = function(dataToPush) {
var zmqSocket = zmq.socket('pub')
var zmqPortPart = 'tcp://127.0.0.1:5555'
zmqSocket.bind(zmqPortPart);
zmqSocket.send(dataToPush);
}
подписчик
var sub = zmq.socket('sub');
sub.connect('tcp://127.0.0.1:5555');
sub.subscribe(''); //herein lies the question
console.log('Received msg:');
sub.on('message',function(msg){
console.log('Received msg:');
console.log(msg.toString())
var jsonPayload = msg.toString();
processData(jsonPayload, zmqPortObj.name);
})
Вы должны подписаться на передающем события. В вашем случае вы не подписаны ни на что (sub.subscribe ('' ")). Подписаться: sock.subscribe ('kitty cats'); Опубликовать: sock.send (['kitty cats', 'meow!' ]); «кошки-кошки» - это ключевое слово здесь :) –
, когда мы не укажем, что это означает получить все сообщение, так что, пожалуйста, скажите с перспективой на образец, что должно быть значением sub.subscribe ('' '). –
Возможно, вы правы. Но в вашем случае я бы установил идентификатор сообщения в любом случае. –