97人妻精品一区二区三区软件,人妻偷拍在线,插丝袜美女小穴视频,美女午夜福利在线

      • <i id="89dc3"></i>
        當(dāng)前位置: 首頁 >應(yīng)用方案 >技術(shù)應(yīng)用 >

        PC7062封裝MQTT協(xié)議字符長(zhǎng)度計(jì)算教程

        MQTT協(xié)議字符長(zhǎng)度計(jì)算

        OASIS標(biāo)準(zhǔn)在MQTT3.1.1協(xié)議描述中已經(jīng)介紹了一種對(duì)剩余字符長(zhǎng)度的計(jì)算方法如下圖:

        MQTT協(xié)議字符長(zhǎng)度計(jì)算1

        官方提供的算法并不能直接引入TPC7062的腳本中,筆者并未在TPC腳本函數(shù)說明中找到類似與do…while(條件判斷式)的函數(shù),好在MQTT協(xié)議規(guī)定了最大可編碼的長(zhǎng)度為4字節(jié),筆者通過下列腳本可以實(shí)現(xiàn)與官方推薦方法等同效果,腳本如下(水平有限,有更好的方法歡迎在官網(wǎng)留言討論)。

        剩余字符長(zhǎng)度編碼

        MQTT協(xié)議中有兩種計(jì)算字符的需求,一是可變長(zhǎng)度(剩余字符長(zhǎng)度),二是字符長(zhǎng)度,使用開關(guān)型或者數(shù)值型變量LEN_STR_BUF_HEX_MODE”區(qū)分計(jì)算方法。

        新建用戶策略并添加兩排策略行

        MQTT協(xié)議字符長(zhǎng)度計(jì)算2

        長(zhǎng)度計(jì)算傳入帶計(jì)算長(zhǎng)度的字符,并使用!Len(str)”函數(shù)計(jì)算出字符的10進(jìn)制長(zhǎng)度,通過DECàHEX轉(zhuǎn)化為16進(jìn)制字符串。

        剩余計(jì)算原理,(x表示傳入10進(jìn)制長(zhǎng)度)協(xié)議規(guī)定最大長(zhǎng)度計(jì)算為4字節(jié),因此定義3個(gè)變量分別存儲(chǔ)x/128、x/128/128、x/128/128/128,在定義4個(gè)變量(…_BIT_14)保存每一位的計(jì)算結(jié)果:

        1、 若小于127字節(jié)直接轉(zhuǎn)換并存儲(chǔ)在_BIT_1中;

        2、 若大于127小于16383,需要使用兩位存儲(chǔ)數(shù)據(jù),_BIT_1存入(x MOD 128+128,_BIT_2存入x/128取整的值;

        3、 若大于16384小于2097151,需要使用三位存儲(chǔ)數(shù)據(jù),_BIT_1存入(x MOD 128+128,_BIT_2存入(x/128 MOD 128)+128,_BIT_3存入x/128/128取整的值;

        4、 若大于2097152小于268435455,需要使用四位存儲(chǔ)數(shù)據(jù),_BIT_1存入(x MOD 128+128,_BIT_2存入(x/128 MOD 128)+128_BIT_3存入(x/128/128 MOD 128)+128,_BIT_4存入x/128/128/128取整值;

        5、 大于268435455超出MQTT3.1.1協(xié)議規(guī)定的最大字符;

        腳本參考“可變長(zhǎng)度緩存”腳本。

        剩余字符長(zhǎng)度解碼

        1.兩個(gè)字節(jié)的計(jì)算方式:

        剩余長(zhǎng)度=(Byte1-128)+Byte2*128

        2.三個(gè)字節(jié)的計(jì)算方式:

        剩余長(zhǎng)度=Byte1-128+[Byte2-128+Byte3*128]*128

        3.以此類推,四個(gè)字節(jié)的計(jì)算方式為:

        剩余長(zhǎng)度=Byte1-128+{Byte2-128+[Byte3-128+Byte4*128]*128}*128

        MQTT協(xié)議字符長(zhǎng)度計(jì)算3

        億佰特人每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的官網(wǎng)/行了解,還有客服小姐姐在線答疑哦!成都億佰特--物聯(lián)網(wǎng)應(yīng)用專家,隨時(shí)在身邊,時(shí)刻準(zhǔn)備為您服務(wù)!


        相關(guān)內(nèi)容推薦:

        PC7062封裝MQTT協(xié)議鏈接報(bào)文步驟教程

        PC7062封裝MQTT協(xié)議發(fā)布報(bào)文教程  



        點(diǎn)擊撥打: 億佰特官網(wǎng) 4000-330-990