一、MQTT(消息隊列遙測傳輸協議Message Queuing Telemetry Transport)
? ? ? ? 1.MQTT是應用層的協議,是一種基于發布/訂閱模式的“輕量級”通訊協議,建構于TCP/IP協議上,可以以極少的代碼和有限的帶寬為連接遠程設備提供實時可靠的消息服務;
? ? ? ? 2.組成:
? ? ? ? MQTT是一個二進制流協議;
? ? ? ? 含固定頭和可變頭和Payload負載;
? ? ? ? 固定頭兩個字節:第一個字節的高四位寫MQTT控制報文的類型(0-15個動作)、低四位用于指定控制報文類型的標志位、第二個字節是剩余長度(可變報頭的長度+有效載荷的長度);
????????部分控制報文包含一個最少二字節的可變報頭:報文標識符MSB+報文標識符LSB;
? ? ? ? 部分控制報文含有有效載荷,有效載荷就是應用信息;
? ? ? ? 3.心跳包機制:
? ? ? ? 在固定頭中標有本次傳輸目的,心跳包也是一種;
? ? ? ? 用于確保傳輸路徑是否通暢;
? ? ? ? 如果規定時間內沒有數據接收自動發送;
? ? ? ? 4.QoS:服務質量
? ? ? ? 為0時,只發不用回復收到確認;
? ? ? ? 為1時,會回復收到確認;
? ? ? ? 為2時,服務器會回復收到確認給發送方,再發送數據給接收方時也會報給發送方,在結束時也會報給發送方;
?