0
嗨,我使用zeroMQ爲其中i用於郵件queuing.Below發佈者和訂閱我的節點應用是我的代碼出版商和用戶的負面情況下不工作
Publisher.js
var zmq = require('zmq')
var publisher = zmq.socket('pub')
publisher.bind('tcp://127.0.0.1:7000', function(err) {
if(err)
console.log(err)
else
console.log("Listening on 7000...")
})
setTimeout(function() {
console.log('sent');
publisher.send("hi")
}, 1000)
process.on('SIGINT', function() {
publisher.close()
console.log('\nClosed')
})
Subscriber.js
var zmq = require('zmq')
var subscriber = zmq.socket('sub')
subscriber.on("message", function(reply) {
console.log('Received message: ', reply.toString());
})
subscriber.connect("tcp://localhost:7000")
subscriber.subscribe("")
process.on('SIGINT', function() {
subscriber.close()
console.log('\nClosed')
})
上面的代碼工作正常,如果發佈商和訂閱者都在運行。如果我阻止了我的訂閱者,當訂閱者離線時我無法收到發佈者的數據。即使訂閱者宕機,我也要保留這些數據。我卡在這裏了。任何幫助將不勝感激。
如果訂閱者處於脫機狀態,發佈者將不會緩存消息。如果您希望發件人在沒有客戶端時將郵件保存在內存中,請使用PUSH。 – raffian
@raffian:雅會嘗試。 – user2882721