原创 MQTT控制報文格式--DISCONNECT 斷開連接

該數據包由客戶端發送給服務端,表示客戶端正在斷開連接。 沒有可變包頭和Payload 固定包頭格式如下: Bit 7 6 5 4 3 2 1 0 byte 1 MQTT Control Pa

原创 MQTT 主題通配符和過濾器Topic Wildcards & Topic Filters

主題名稱中引入了級別分隔符 /, 用於分割主題級別,如果存在,它將主題名稱劃分爲多個“主題級別”。 訂閱的主題過濾器可以包含特殊的通配符,可以一次訂閱多個主題。 特殊字符的通配符可以用在訂閱過濾器中,但是不能用於主題名稱 1. 主題級別

原创 MQTT控制報文格式 -- PINGRESP – PING response

PINGRESP 數據包由服務器發送到客戶端以響應 PINGREQ 數據包。 這表明服務器還活着。 該數據包沒有可變包頭和Payload,剩餘長度值爲0 固定包頭格式如下: Bit 7 6 5 4 3 2

原创 MQTT QoS 工作流程

MQTT 根據此處定義的服務質量 (QoS) 級別傳送應用程序消息。 傳送協議是對稱的,在下面的描述中,客戶端和服務器各自可以充當發送者或接收者的角色。 傳送協議僅涉及將應用程序消息從單個發送方傳送到單個接收方。 當服務器向多個客戶端傳遞

原创 MQTT控制報文格式 -- PUBREL – Publish release (QoS 2 publish received, part 2)

PUBREL 數據包是對 PUBREC 數據包的響應。 它是 QoS 2 協議交換的第三個數據包。 該數據包剩餘長度爲2 該數據包沒有Payload 該數據包可變包頭長度爲2個字節 1. 固定包頭 Fixed Header Bit

原创 MQTT控制報文格式 -- UNSUBSCRIBE– 客戶端取消訂閱請求

客戶端向服務器發送取消訂閱數據包,以取消訂閱主題。 1. 固定包頭 Fixed header Bit 7 6 5 4 3 2 1 0 byte 1 MQTT Control Packet

原创 理解MQTT協議(v3.1.1)

1. 概述 MQTT 協議概述 2. 數據包詳解 Control Packets 即14種MQTT類型的消息的二進制定義,本人按對協議的個人理解分別詳述如下: CONNECT 連接請求 CONNACK 連接請求應答 PUBLISH 發佈消

原创 MQTT控制報文格式 -- PINGREQ – ping請求

PINGREQ 數據包從客戶端發送到服務器。 它可用於: 在沒有任何其他控制數據包從客戶端發送到服務器的情況下,向服務器指示客戶端處於活動狀態。 請求服務器響應以確認其處於活動狀態。 測試網絡以指示網絡連接處於活動狀態。 該數據包不需要

原创 MQTT控制報文格式 -- PUBCOMP – Publish complete (QoS 2 publish received, part 3)

PUBCOMP 數據包是對 PUBREL 數據包的響應。 它是 QoS 2 協議交換的第四個也是最後一個數據包。 1. 固定包頭 Fixed header Bit 7 6 5 4 3 2 1 0

原创 MQTT控制報文格式 -- SUBSCRIBE – 客戶端訂閱主題請求

DISCONNECT 數據包是從客戶端發送到服務器的最終控制數據包。 表明客戶端正在斷開連接。 該數據包沒有可變包頭和Payload 1. 固定包頭 Fixed header Bit 7 6 5 4 3 2

原创 MQTT控制報文格式 -- UNSUBACK – 取消主題訂閱應答

UNSUBACK 數據包由服務器發送到客戶端以確認收到 UNSUBSCRIBE 數據包。 該數據包不包含Payload,所以剩餘長度爲2,即2字節的可變包頭長度。 1. 固定包頭 Fixed header Bit 7 6

原创 MQTT控制報文格式 -- SUBACK – 訂閱應答

SUBACK 數據包由服務器發送到客戶端以確認 SUBSCRIBE 數據包的接收和處理。 SUBACK 數據包包含返回代碼列表,指定在 SUBSCRIBE 請求的每個訂閱中授予的最大 QoS 級別 1. 固定包頭 Fixed header

原创 MQTT控制報文格式 -- PUBREC – Publish received (QoS 2 publish received, part 1)

PUBREC 數據包是對 QoS 2 的 PUBLISH 數據包的響應。它是 QoS 2 協議交換的第二個數據包。 該數據包剩餘長度爲2 該數據包沒有Payload 該數據包可變包頭長度爲2個字節 1. 固定包頭 Fixed Heade

原创 MQTT控制報文格式 -- SUBSCRIBE – 客戶端訂閱主題請求

訂閱數據包從客戶端發送到服務器以創建一個或多個訂閱。 每個訂閱都會登記客戶對一個或多個主題的興趣。 服務器向客戶端發送 PUBLISH 數據包,以便轉發已發佈到與這些訂閱匹配的主題的應用程序消息。 SUBSCRIBE 數據包還指定(對於每

原创 MQTT控制報文格式 -- CONNACK (Acknowledge connection request)連接請求應答

該報文由服務端收到CONNECT數據包後發出,客戶端可以根據在合理的時間內是否收到該報文而決定是否斷開網絡連接。 該數據包不包含Payload部分,僅有FixedHeader 和 Variable Header,現對其詳述如下: 1. 固定