2015-06-13 66 views
2

我只是mosquitto ANS MQTT協議 玩弄後的很不錯的視頻 https://www.youtube.com/watch?feature=player_embedded&v=WE7GVIFRV7QIOT Mosquitto MQTT如何在本地主機

試圖在一個終端窗口,我來測試它在我的本地

測試運行:

mosquitto_sub -t "nodeconf/eu" -v 

但是當我運行這段代碼:

var mqtt = require('mqtt'); 
var client = mqtt.connect(); 
client.on('connect', function() { 
    client.subscribe('nodeconf/eu'); 
    client.publish('nodeconf/eu','Hello'); 
}); 


client.on('message', function (topic, message) { 
    // message is Buffer 
    console.log(message.toString()); 
    client.end(); 
}); 

我沒有看到(在我的終端窗口中)任何你好。

有什麼不對嗎?

順便說一句 我也在尋找關於主題的好教程和指南謝謝。

+0

你是說你沒有在mosquitto_sub窗口或nodejs窗口輸出?如果它是nodejs,那麼在發佈完成後,您可能會附加on'message'偵聽器。 – hardillb

+0

我沒有在mosquitto_sub窗口中看到Hello消息。對不起,你給我舉個例子吧? – Whisher

+0

現在已經設法讓機器運行代碼,它看起來很好,並按預期運行。我假設你有經紀人作爲服務在你的機器上運行。我會在前臺的終端中運行它,檢查是否可以看到客戶端連接。 – hardillb

回答

2

您必須將console.log添加到您的第二個(javascript)客戶端,以瞭解爲什麼它不能正確發佈Hello。

但是你可以做的mosquitto客戶的典型測試:

1)訂閱主題:

mosquitto_sub -d -h localhost -p 1883 -t "myfirst/test"

2)其他客戶端發佈的消息內容,以該主題:

mosquitto_pub -d -h localhost -p 1883 -t "myfirst/test" -m "Hello"

3)所有訂閱的客戶這個主題將部門自動化收到消息。