MQTT 5.0 新特性 |(二) 原因碼與 ACK

emqx發表於2019-12-23

MQTT v3.1.1

MQTT v3.1.1 協議只有 10 種返回碼,這些返回碼所能表示的含義很少,且相同的返回碼的值在不同的報文中可以有不同的含義。

MQTT 5.0 新特性 |(二) 原因碼與 ACK

MQTT 5.0 新特性 |(二) 原因碼與 ACK

MQTT v5.0

MQTT v5.0 協議將返回碼改名成了原因碼,增加了用於表示更多型別的錯誤的原因碼。 下表是原因碼列表,分別表示的是原因碼的值以及包含原因碼的控制報文:

MQTT 5.0 新特性 |(二) 原因碼與 ACK

原因碼是用來表明操作結果的一個單位元組無符號值,小於 0x80 的原因碼錶明操作的結果是成功的,正常情況下,操作成功返回的原因碼值為 0。 如果返回的原因碼大於等於 0x80,就說明操作失敗了。

CONNACK, PUBACK, PUBREC, PUBREL, PUBCOMP, DISCONNECT 和 AUTH 控制報文的原因碼存在可變報頭中。而 SUBACK 和 UNSUBACK 報文在有效載荷中包含了一張原因碼的列表。

相關文章