У меня есть два .js
файла - pub.js
для публикации и sub.js
для подписки.Эти файлы на самом деле являются «разделенной» версией примера, показанного на сайте node-nanomsg GitHub .pub.js
пишет в tcp://127.0.0.1:7789
и sub.js
читает из того же.Сначала я запускаю sub.js
, а затем pub.js
.В то время как pub.js
завершается быстро, sub.js
никогда не получает сообщение.
pub.js
var nano = require('nanomsg')
var pub = nano.socket('pub')
pub.bind('tcp://127.0.0.1:7789')
//
pub.send('Hello')
pub.close()
sub.js
var nano = require('nanomsg')
var sub = nano.socket('sub')
sub.connect('tcp://127.0.0.1:7789')
//
sub.on('data', function(buf) {
console.log(String(buf))
sub.close()
})
ОБНОВЛЕНИЕ
Если pub.js
записано так, как показано ниже, и sub.js
началось сначала, то связь происходит.
var nano = require('nanomsg')
var pub = nano.socket('pub')
pub.bind('tcp://127.0.0.1:7789')
//
setTimeout(() => {
pub.send('Hello')
},2000)
//pub.close()
Но парадигма pub-sub не требует, чтобы издатели и подписчики былиосознавать друг друга.Как включить систему pub-sub с nanomsg
?