乙個突發奇想
昨天一直在想http協議的問題,http協議是基於tcp/ip協議的,我一直在想,http的實體在**?後來我想,http不過是乙個「全球範圍內的承諾」,所有使用它的人都承諾按照特定的格式傳遞資料。因此,用正式一點的話說,它只不過是一組全球共同承認的規範而已,定義了一組程式、伺服器等必須遵守的通訊約定,這麼想來,協議貌似就沒有那麼神秘了。因此,我覺得我們人人都可以制定協議了,小到一句話大到乙個龐大的協議族。我們在設計自己內部的系統時,有時候為了通訊方便,我們可以設計自己的協議,比如fastdfs分布式檔案系統就制定了自己系統內部的通訊協議,如圖:
詳細設計
一般來說,乙個基本的資料報協議需要以下部分:
1. 協議的標識
2. 協議版本號
3. 協議包的序號
4. 協議包的發出時間
5. 協議包的型別
6. 協議包的資料長度
7. 資料
8. 校驗碼
9. 結束符
上面的9點中,第1到第5是包頭部分,對於每個資料報都是一樣的,下面的第8,第9點,對於每個資料報也是相同的。但對於後面的第6,第7跟具體的包有關,這部分是不同的。
如何設計兩個系統之間的通訊協議
一般來說,乙個基本的資料報協議需要以下部分 1.協議的標識 2.協議版本號 3.協議包的序號 4.協議包的發出時間 5.協議包的型別 6.協議包的資料長度 7.資料 8.校驗碼 9.結束符 上面的9點中,第乙個橫線上的是包頭部分,對於每個資料報都是 一樣的,但對於後面的6,7跟具體的包有關,這部分是...
Arduino通訊協議設計
最近在一直在研究arduino 硬體平台的東西,先從做乙個簡單的東西入手,比如說,我通過android端向arduino硬體傳送指令,控制電機的正轉 反轉。其中乙個必不可少的問題就是這兩個端裝置之間的通訊問題。它們之間的通訊可以通過藍芽模組來完成,此外,還需要自己設計通訊協議。從最簡單的模組開始,需...
底層通訊協議的設計
對於很多裝置之間的通訊,經常需要自己設計一套通訊協議。當然此處的通訊協議一般都是建立在tcpip協議等協議基礎之上的協議,也就是在已有協議的基礎之上,在定義一套協議。例如 有一套檢測降雨量的裝置 一般為簡單的嵌入式裝置 需要把採集到的的資料上報給中心伺服器 一般為一台效能特別好的計算機 就需要一套通...