第十課 自定義資料報協議

2021-08-10 05:05:38 字數 924 閱讀 9793

give me a coffee give me a tea

服務端收到的資料:

- give me a coffeegive me a tea 粘包現象

- give me

- a coffeegive me a tea 分包現象

粘包和分包出現的原因是:沒有乙個穩定資料結構

解決方法

(1) 分割符

give me a coffee|give me a tea|

give me a coffee|

give me a tea|

(2) 長度 + 資料

16give me a coffee13give me a tea

16give me a coffee

13give me a tea

(3) 自定義資料報結構

/****

*資料報格式*+

——---

-——+——

----

-——+——

----

——+——-

---——

+——--

---——

+*|包頭

|模組號

|命令號|長度

|資料|*

+——--

--——+

——---

--——+

——---

-——+——

----

——+——-

----

——+**

包頭4位元組

*模組號2位元組short

*命令號2位元組short

*長度4位元組(描述資料部分位元組長度)

**/

自定義資料報協議示例

第十課學習

按鍵在未按下時,處於一種高電平狀態,一般這種情況下,其對io口的電平一致,則不會產生任何效果,只有在按下狀態時,由於與接地的迴路貫通,故相當於微控制器的io口直接接地。從原理圖上看,之所以要接keyin1 keyin4外接至按鍵中,主要原因是為了獲取按鍵的狀態,因為我們只能獲取微控制器的io口狀態,...

第十課 邊框

無邊框 border style none 虛線邊框 border style dotted 虛線邊框 border style dashed 實線邊框 border style solid 雙邊框 border style double 凹槽邊框 border style groove 壟狀邊框 ...

第十課 函式

第十課 函式 一.定義函式 def 函式名 引數1,引數2,文件描述 函式體return 值 def 定義函式的關鍵字 函式名 函式名指向函式記憶體位址,是對函式體 的引用。函式的命名應該反映出函式的功能 括號 括號內定義引數,引數是可有可無的,且無需指定引數的型別 冒號 括號後要加冒號,然後在下一...