◆劉文杰
(榮成市教育教學研究中心 山東 264300)
在企業級局域網的應用場景中,經常需要開發CS架構的程序,這類程序的穩定性和安全性都是非常重要,服務器端的程序如果穩定性不強則容易崩潰,安全性不好則容易受到攻擊。網絡通信部分涉及的知識點多,開發難度高,并且需要進行長期的測試,普通的開發者很難獨立開發,我們對一款國外的名稱為Networkcomms開源的通信框架進行了深入的研究,這個通信框架面向微軟.net平臺,以開源形式基于Apache License v2協議發布,我們使用這個通信框架開發了多款產品,經過實踐驗證,這個通信框架性能突出,穩定性好,安全性高,值得深入研究。
CS架構的程序,分為客戶端與服務器端,服務器端我們一般以Windows服務的形式部署在服務器上,客戶端可以通過TCP協議與服務器端進行連接,程序的架構如圖1。

圖1 程序架構
客戶端與服務器端之間的數據需要進行傳輸,數據的傳輸必須穩定高效,通過Networkcomms框架可以輕松的做到這一點,下面我們對框架的數據傳輸部分進行介紹。
數據通過TCP協議傳輸時,是以二進制的形式在網絡上傳輸,我們在發送數據之前,需要按照一定的格式對數據進行封裝,接收的一方收到數據后,按照預設的格式對數據進行解析。在Networkcomms通信框架中,數據包(Packet)的格式如下:

PacketHeader是數據包頭,PacketData是數據包體,序列化之后的PacketHeader中的第一個字節,存放PacketHeader的數據長度,PacketHeader中的 TotalPayloadSize屬性存放數據包體的數據……