一般來說,乙個基本的資料報協議需要以下部分
1. 協議的標識
2. 協議版本號
3. 協議包的序號
4. 協議包的發出時間
5. 協議包的型別
-------------------
6. 協議包的資料長度
7. 資料
-------------------
8. 校驗碼
9. 結束符
上面的9點中,第乙個橫線上的是包頭部分,對於每個資料報都是
一樣的,但對於後面的6,7跟具體的包有關,這部分是不同的。
下面的8.9也是相同的。
下面繼續說明6, 7兩點的設計辦法。
如果協議包的每種型別下面沒有更多的分類,那麼,資料這部分無需再設計
只要乙個值即可,但情況往往不是那麼簡單,情況如下
(1)如果資料也有多種型別,那麼資料部分得再加上乙個型別標號,
(2)如果資料同時有多個,那麼資料部分必須分成二部分,一部分表明其資料
個數,後面再跟多個資料個體。
使用者驗證的例子比如.
將登入名計算成乙個md5大整數,
當使用者登入時,將此時的登入名用md5演算法運算一下,看其值與md5是否相等。
---------------------------------
例子:設計乙個傳遞室內溫度,與 空氣含氧量的協議
首先1, 2, 3, 4, 點好設計,照搬即可, 那麼5的型別,此處有二個,即溫度或
者空氣含氧量, 其型別有二種0xc1, 0xc2
6資料的長度與7資料內容有關,7資料內容可以是獲取溫度時間與溫度值,
也可以是獲取時間與空氣含氧量。
8, 9 照搬即可。
自己設計系統之間的通訊協議
乙個突發奇想 昨天一直在想http協議的問題,http協議是基於tcp ip協議的,我一直在想,http的實體在 後來我想,http不過是乙個 全球範圍內的承諾 所有使用它的人都承諾按照特定的格式傳遞資料。因此,用正式一點的話說,它只不過是一組全球共同承認的規範而已,定義了一組程式 伺服器等必須遵守...
底層通訊協議的設計
對於很多裝置之間的通訊,經常需要自己設計一套通訊協議。當然此處的通訊協議一般都是建立在tcpip協議等協議基礎之上的協議,也就是在已有協議的基礎之上,在定義一套協議。例如 有一套檢測降雨量的裝置 一般為簡單的嵌入式裝置 需要把採集到的的資料上報給中心伺服器 一般為一台效能特別好的計算機 就需要一套通...
兩個執行緒之間的通訊。。。。。
public class demo01 catch interruptedexception e thread t2 new thread catch interruptedexception e t1.start t2.start class mytask system.out.println 1...