在DSAPI中,網路通訊主要有以下幾種:1 [TCP] TCP服務端 TCP客戶端 2 [UDP] UDP服務端 UDP客戶端 UDP指令版服務端 UDP指令版客戶端 3 [HTTP] HTTP服務端 (客戶端由瀏覽器或任何能訪問HTTP的函數或軟體替代,DSAPI中未提供HTTP客戶端) HTTP ...
在DSAPI中,網路通訊主要有以下幾種:
1 [TCP]
TCP服務端
TCP客戶端
2 [UDP]
UDP服務端
UDP客戶端
UDP指令版服務端
UDP指令版客戶端
3 [HTTP]
HTTP服務端
(客戶端由瀏覽器或任何能訪問HTTP的函數或軟體替代,DSAPI中未提供HTTP客戶端)
HTTP指令版服務端
HTTP指令版客戶端
對於以上這些,在開髮網絡通訊程式過程中如何選擇呢?先看上述各服務端功能的主要服務對象:
TCP服務端 |
|
適用範圍 |
需要高速通訊,且服務端主動推送信息 |
優 點 |
高速通訊、服務端主動傳輸 |
缺 點 |
必須服務端先開才能提供客戶端連接、須自行維護一個斷開重連機制 |
|
|
UDP服務端 |
|
適用範圍 |
高速短數據量通訊(一般數據量不應超過65500位元組) |
優 點 |
高速通訊、服務端可延遲啟動、無需事先建立連接 |
缺 點 |
數據量較小、不能確保一定發送成功,建議服務端和客戶端雙方做應答機制 |
|
|
UDP指令版服務端 |
|
適用範圍 |
高速短數據量通訊(一般數據量不應超過65000位元組),目前大部分物聯網、工業通訊等正在使用DSAPI中的UDP指令版服務端 |
優 點 |
高速通訊、服務端可延遲啟動、無需事先建立連接、傳輸過程加密、內置自動重發、通訊失敗(或無返回數據)自動觸發事件、內置客戶端用戶名密碼數據傳遞,可允許或拒絕返回給客戶端數據 |
缺 點 |
數據量較小、服務端不能主動推送數據給客戶端 |
|
|
HTTP服務端 |
|
適用範圍 |
WebAPI、小型靜態網頁和數據服務、網站公共數據介面 |
優 點 |
無需超高速通訊、服務端可延遲啟動、無需事先建立連接、迷你IIS、可在任何支持http通訊的服務端和客戶端使用、最大數據量預設200M以內(可更改)、無需架設IIS即可開始靜態網頁服務 |
缺 點 |
服務端不能主動推送數據給客戶端 |
|
|
HTTP指令版服務端 |
|
適用範圍 |
高速通訊,目前很多物聯網、工業通訊、醫院醫葯等正在使用DSAPI中的HTTP指令版服務端 |
優 點 |
高速通訊、服務端可延遲啟動、無需事先建立連接、傳輸過程加密、內置自動重發、通訊失敗(或無返回數據)自動觸發事件、內置客戶端用戶名密碼數據傳遞,可允許或拒絕返回給客戶端數據 |
缺 點 |
服務端不能主動推送數據給客戶端 |