私有通讯协议
數據包結構
數據包頭部:數據包頭部是必須的,在粘包的時候可以作為的分隔符進行分包。
數據包長度:數據包長度最好加上,可以判斷數據包是否完整。
版本號:?版本號有時也很重要,例如LORA網絡中,不同項目之間的數據包可以通過版本號進行甄別。
目的地址:目的地址根據硬件特性決定加不加。例如CAN總線通訊過程中已經有硬件地址,就可以不加。
源地址:源地址根據硬件特性決定加不加。例如CAN總線通訊過程中已經有硬件地址,就可以不加。
包標識符:包標識符最好加一下,這對于問答模式下的重發機制或者網絡導致的重復收包問題,都有極大的好處。???
協議碼:協議碼可包含請求/響應位、是否需要應答位、協議類型位。
有效數據:有效數據承載傳輸信息。
校驗:數據包校驗字節根據硬件特性決定加不加。硬件部分已經有校驗的可以不加,硬件部分沒有的最好加上。
數據包尾部:數據包尾部并非必須的,很多協議已經不再使用數據包尾部。
總結
- 上一篇: 学好Python爬取京东知乎价值数据
- 下一篇: S5PV210裸机之SDRAM