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