目 錄
9. 協(xié)議過濾器,解決一包多發(fā)、粘包、冗余數(shù)據(jù)... 2
9.1 概述... 2
9.2 實際問題... 2
9.3 5種過濾器及二次開發(fā)... 5
9.4 設(shè)備驅(qū)動開發(fā)注意事項... 6
9.5 宿主程序服務(wù)實例配置注意事項... 6
9. 協(xié)議過濾器,解決一包多發(fā)、粘包、冗余數(shù)據(jù)
9.1 概述
通訊中涉及到數(shù)據(jù)包的概念,是通訊協(xié)議中的數(shù)據(jù)組成形式。針對這塊內(nèi)容,說簡單也簡單,說復(fù)雜也復(fù)雜。需要我們系統(tǒng)性的把問題考慮全面,并用代碼實現(xiàn)。
在工業(yè)領(lǐng)域也有極端的情況出現(xiàn),早些年做通訊的時候,數(shù)據(jù)包頭、包尾、數(shù)據(jù)長度、數(shù)據(jù)校驗位都對,但是就是解析出來的數(shù)據(jù)不正確,這種情況不會經(jīng)常出現(xiàn),但是在某種特殊應(yīng)用環(huán)境可能會頻繁出現(xiàn),后來經(jīng)過分析得出結(jié)論:可能是由于地質(zhì)電磁干擾引起的。但是也有技術(shù)上的設(shè)計缺陷,例如:數(shù)據(jù)校驗位是累加和,改成CRC是不是就不會出來這個問題了;另外對于增量數(shù)據(jù),應(yīng)該有補發(fā)機制等等。
9.2 實際問題
參考協(xié)議:《連載 | 物聯(lián)網(wǎng)框架ServerSuperIO教程》-4.如開發(fā)一套設(shè)備驅(qū)動,同時支持串口和網(wǎng)絡(luò)通訊
- 1. 一包多發(fā)及解決
&nbs