釋出資訊
mosquitto_pub -V mqttv311 -t sensors/drone01/altitude -m "10 f" -dClient (null) sending CONNECTClient (null) received CONNACK (0)Client (null) sending PUBLISH (d0, q0, r0, m1, 'sensors/drone01/altitude', ... (4 bytes))Client (null) sending DISCONNECT
MQTT.fx也可以釋出訊息
PacketId如果QoS級別等於0,該欄位的值將為0或不存在。如果QoS級別等於1或2,資料包識別符號將有一個數字值來識別資料包,並使其能夠識別與該資料包相關的響應。
Dup如果QoS級別為0,則該欄位的值為0,如果QoS級別為1或2,MQTT客戶端庫或MQTT伺服器可以在使用者沒有收到第一條訊息時,重新發送之前由客戶端釋出的訊息。每當試圖重新發送一個已經發布的訊息時,Dup標誌的值必須為1或true。
QoS指定訊息的QoS級別。
Retain如果這個標誌的值被設定為1或true,MQTT伺服器將以其指定的QoS級別儲存訊息。每當新的 MQTT 客戶端訂閱與儲存或保留訊息的主題相匹配的主題過濾器時,最後儲存的這個主題的訊息將被髮送到新的訂閱者。如果這個標誌的值被設定為0或false,MQTT伺服器不會儲存訊息,也不會用相同的主題替換保留的訊息。
TopicName :主題名稱。主題名稱有一個層次結構,其中斜線(/)被用作分隔符。
有效載荷包含MQTT客戶端希望MQTT伺服器釋出的實際訊息。MQTT是資料不可知的,因此,我們可以傳送任何二進位制資料,我們沒有JSON或XML等限制。當然,如果我們願意的話,我們可以使用這些或其他方式來組織有效載荷。在我們的例子中,我們傳送了一個字串,其中包括一個代表高度的數字,後面是一個空格和一個 "f",表示計量單位是英尺 。
MQTT伺服器將讀取有效的PUBLISH資料包,它將只對QoS級別大於0的資料包做出響應。在QoS等級為0的情況下,MQTT不會響應。MQTT伺服器將確定所有訂閱的主題與訊息指定的主題名相匹配的訂閱者,伺服器將把訊息釋出給這些客戶端。
退訂主題下圖顯示了MQTT客戶端和MQTT伺服器之間的互動
最新評論