<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 2.1 MQTT控制包的結構 MQTT協議的工作方式其實就是根據預先定義的方式進行一系列的MQTT控制包交換。這一節我們主要解釋這些包的格式。 一個MQTT控制包最多由3個組成部分,而且必須按照下面這樣的順序。 圖2.1 MQTT控制包的結構 1. 固定頭部,存在于所有MQTT控制包中 2. 可變頭部,存在于一部分MQTT控制包中 3. 有效負載,存在于一部分MQTT控制包中 # 2.2 固定頭部 每個MQTT控制包都包含一個固定頭部。 圖2.2 固定頭部格式 位 7 6 5 4 3 2 1 0 第1字節 MQTT控制封包類型 每個MQTT控制包特有的標志類型 第2字節開始 保留字長 ![](https://box.kancloud.cn/2015-11-29_565a948759a03.png) ## 2.2.1 MQTT控制包類型 位置:第一字節,7-4位 表示為4位無符號值,如下表所示: ![](https://box.kancloud.cn/2015-11-29_565a948768e2b.png) ## 2.2.2 標志 固定頭部第一字節剩余的4位(Bits[3-0])包含了如下表所示的每個MQTT控制包特殊的規范。當一個標志位被記錄成“Reserved”時,表明這是保留給將來協議升級使用,現在必須按照下表所示設置相應的值[MQTT-2.2.2-1]。如果收到不合規的值,接收方必須關閉網絡連接[MQTT-2.2.2-2]。更詳細的對于錯誤的處理可以參考4.8節。 ![](https://box.kancloud.cn/2015-11-29_565b08602ef4c.png) DUP1 = 重復發送一個發布控制包 QoS2 = 發布的服務品質級別 RETAIN3 = 發布的保留標志 更詳細的信息可以參考3.3.1章節 ## 2.2.3 剩余字長 位置:從第二字節開始 剩余字長表示當前消息的剩余字節數,包括可變頭部和有效負載。剩余字長不包括用來編碼剩余長度的字節。 剩余字長的編碼采用的是可變長編碼方案,用一個單字節可以代表最多127字節。如果更長的話,需要用如下的方式處理: 每個字節的低7位用來編碼數據,而最高一位用來表示后續還有值。因此每個字節編碼128個數值和一個“延續位”。剩余字長中最大的字節數是4。 * 非標準注釋 比如,十進制數64被編碼為一個單字節,十進制64,十六進制0x40。十進制321(也就是65+128*2)被編碼為2個字節,低位在前。所以第一個字節是193(65+128)。注意最高位被設置成至少有一個后續字節。第二個字節是2。 這就允許應用發送控制包最大256M(268,435,455),代表這個數的就是0xFF,0xFF,0xFF,0x7F。 | 數字 | 從 | 到 | | 1 |0(0x00) | 127(0x7F) | | 2 |128(0x80, 0x01) | 16 383(0xFF,0x7F) | | 3 |16 384(0x80,0x80,0x01) | 2 097 151(0xFF,0xFF,0x7F) | | 4 |2 097 152(0x80,0x80,0x80,0x01) |268 435 455(0xFF,0xFF,0xFF,0x7F) | # 2.3 可變頭部 ## 2.3.1 包標識符 # 2.4負載
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看