如何設計兩個系統之間的通訊協議

2021-06-26 12:31:43 字數 849 閱讀 8774

一般來說,乙個基本的資料報協議需要以下部分

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...