Upacker
用于段對(duì)端通訊數(shù)據(jù)封包、解包,解決各種粘包、分包問題。極簡(jiǎn)內(nèi)存占用。
軟件包位置: /packages/misc/upacker
數(shù)據(jù)幀格式
每包數(shù)據(jù)負(fù)載長(zhǎng)度最長(zhǎng)位14位16384字節(jié)。 每幀數(shù)據(jù)含4字節(jié)Header和N字節(jié)負(fù)載,包含14位數(shù)據(jù)長(zhǎng)度,4位Header校驗(yàn),6位負(fù)載校驗(yàn)
使用
配置
packer內(nèi)部需要一段內(nèi)存用于保存解析完成的包,可以配置為靜態(tài)內(nèi)存或者動(dòng)態(tài)內(nèi)存。 內(nèi)存分配的長(zhǎng)度為MAX_PACK_SIZE,根據(jù)應(yīng)用需要自行調(diào)節(jié)
完整的packer結(jié)構(gòu)體
實(shí)例一個(gè)packer
初始化,需要用戶自行實(shí)現(xiàn)兩個(gè)函數(shù)
解析數(shù)據(jù)
封包數(shù)據(jù)
應(yīng)用建議
最簡(jiǎn)單的協(xié)議示例,一個(gè)字節(jié)用來設(shè)置指令類型,后面接數(shù)據(jù)。
使用json序列化數(shù)據(jù),把json用來pack傳輸,收到一幀直接反序列化
使用msgpack序列化數(shù)據(jù),和json類似。
審核編輯:劉清
-
RT
+關(guān)注
關(guān)注
0文章
73瀏覽量
39963 -
Use
+關(guān)注
關(guān)注
0文章
5瀏覽量
7764 -
動(dòng)態(tài)內(nèi)存管理
+關(guān)注
關(guān)注
0文章
5瀏覽量
6603 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1239瀏覽量
39430
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論