在系統開發過程中,如果涉及到了socket通訊,那就要制定好通訊的協議,只有制定好了規則,後面的工作才方便順利展開,製作通訊協議時要考慮到通訊的安全性,必要的資訊要經過加密處理,同時也要考慮到系統的可擴充套件性,如果以後需要增加乙個命令或者修改命令要保證這些工作能方便的進行。
協議的內容包括如下:
一、 系統預設約定
1. 本協議使用的字串,如密碼,位數為6位。
2. 通訊方式:tcp、udp。本協議預設為tcp/ip方式。
實時資訊包,主要應用於tcp/ip短連線模式下,要求由終端(webform)發起,服務端作中轉站請求winform終端,然後原路命令反饋。
如下圖:
一、 命令控制流程
webform終端請求實時資訊資料報前須先確認winform終端已連線上中間伺服器(socket server),winform終端同步資訊前須先連線remoting server,因此winform終端會定時傳送連線確認資料至server
端,以確認其連線狀態。
1. 終端分為webform終端和winform終端。
二、 通訊協議命令
資料報協議格式
資料報:報文長度+幀頭+終端編號+命令字+總幀數+第幾幀+內容+校驗+狀態+幀尾
說明:每條訊息以0x00開始,以0xff結尾。
每條訊息只能傳送乙個命令字,每條訊息的最長長度為1024(包括1024位元組),超過1024的部分分批傳送,以此迴圈。
讀取資料時,內容預設為0x00。
終端編號以「k0000001「來舉例
名稱資料報頭
資料報內容
資料報尾
含義報長度
幀頭終端編號
7總幀數
第幾幀內容
校驗狀態
幀尾位置01
21位元組45
6789
長度2位元組
1位元組8位元組
0xff
2位元組2位元組
n位元組1位元組
1位元組1位元組
內容0x0000
0x00
k0000001
0x00
0x0000
0x0000
….0xff
0x00
0xff
三、在往下就是制定協議的命令字:
制定各個命令字的具體的含義,傳送什麼樣的內容。如何判斷傳送內容的正確性,
鑑別傳送的內容的真偽,狀態碼的定義。簡單介紹下:通過狀態碼來判斷傳送
資料報的狀態,是否成功執行了命令。通過校驗位來判斷內容是否真實可靠。
通過加密和解密演算法保證內容的安全。需要加密的內容一般包括終端編號,傳送的
內容等。
關於Socket通訊時通訊協議的制定
在系統開發過程中,如果涉及到了socket通訊,那就要制定好通訊的協議,只有制定好了規則,後面的工作才方便順利展開,製作通訊協議時要考慮到通訊的安全性,必要的資訊要經過加密處理,同時也要考慮到系統的可擴充套件性,如果以後需要增加乙個命令或者修改命令要保證這些工作能方便的進行。協議的內容包括如下 一 ...
Socket通訊協議與socket安全
作者為 qq 37551067 在socket強聯網中,我們可以通過定義一些對資料封裝的規則來進行資料的傳輸,讓資料可以在伺服器和客戶端進行 相互傳輸 每條資料都有乙個協議編號,在資料傳輸的時候也一併傳輸過去,讓接受方可以知道傳輸的是哪個協議,可以使用對應 一就是json不支援float型別的數據,...
通訊協議 UDP通訊
通訊協議 通訊協議是udp tcp通訊的基礎,沒有通訊協議的 通訊 是沒有任何意義上的,通訊協議不是底層函式或者高深的原理,而是程式設計師之間的一種文字約定。資料在網路上是以位元組的形式傳送的 底層是01碼 我們在讀取到資料之後,該以怎樣的方式對它進行解碼呢?這就是我們在通訊之前需要制定的通訊協議。...