0
我正在學習MQTT,並面臨一些與使用RabbitMQ從http://blog.airasoul.io/the-internet-of-things-with-rabbitmq-node-js-mqtt-and-amqp/瞭解MQTT有關的問題。發佈後沒有收到消息。 RABBITMQ MQTT
所以,這裏的問題是當我運行發佈者代碼時,隊列被添加mqtt-subscription-test-qos1但是當我的消息沒有被添加到該隊列中時。儘管我已將amq.topic的綁定與鍵綁定「存在」添加到此隊列中。
這是我的出版商的代碼
var payload = {
message : 'Hello'
};
var client = mqtt.connect(url, { clientId: 'test-', clean:true});
client.on('connect', function() {
client.publish('presence', JSON.stringify(payload), { qos: 1 }, function() {
console.log("Sent");
client.end();
process.exit();
});
});
以下是我的用戶代碼。
var client = mqtt.connect(url, { clientId: 'test-', clean:true});
client.on('connect', function() {
client.subscribe('presence', { qos: 1 });
});
client.on('message', function (topic, message) {
console.log('received message ', message.toString());
});
這樣做,當我沒有在發佈者代碼中聲明連接函數的任何選項。所以我不明白的是,發佈者是不是應該創建一個隊列然後發佈到主題?
我在做什麼錯?
如果您從發佈回調中刪除'client.end'和'process.exit'調用,它工作嗎? – hardillb