新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 根據VC的執行機構以太網控制系統的設計策略

        根據VC的執行機構以太網控制系統的設計策略

        作者: 時間:2010-04-26 來源:網絡 收藏

        系統采用Client/Server模式。通過轉串口模塊的配置軟件,將該模塊設置成服務器模式,而主控計算機上的控制軟件部分為客戶端,每次啟動由主控計算機主動連接。客戶端和服務器采用面向連接的通信協議:控制計算機和模塊之間會建立一個虛擬連接,這個連接一旦建立,客戶端和服務器之間就可以把數據當作一個雙向字節流進行交換;如果連接建立不成功,則不會發送數據。另外,面向連接傳輸的每一個報文都需要接收端確認,未確認報文被認為是出錯的報文。

        3.1 通信過程

        Socket有同步阻塞方式和異步非阻塞方式兩種使用,本系統應用程序中創建了繼承于CAsyncSocket類的TestSocket類,它是一個異步非阻塞Socket封裝類。

        由于已經將轉串口模塊設置為服務器模式,所以,主控計算機段的程序是作為客戶端出現的,該程序的編寫大致按照以下步驟進行:

        1) 首先調用WSAStartup函數來初始化套接字庫。

        2) 調用socket函數來創建一個套接字。

        3) 調用connect函數連接服務器,發出連接請求

        4) 服務器響應連接請求后,與服務器開始進行交互操作(接收、發送數據等),直到請求結束。

        5) 調用closesocket關閉套接字,釋放套接字資源。

        6) 調用WSACleanup函數釋放相應資源。

        客戶端程序與服務器的通信過程如圖3所示:

        圖3:面向連接服務的socket調用模型

        轉串口模塊中,服務器程序調用listen函數將此socket置于監聽狀態,讓這個socket對進來的連接進行監聽并確認連接請求。當服務器端監聽到來自客戶端的連接請求后,一個正在監聽的socket將給將給每個請求發送一個確認信息,然后調用accept函數,接著,面向連接的客戶通過調用connect函數啟動網絡對話。在客戶端和服務器端建立連接以后,雙方就可以通過send和recv或其它面向連接的Socket API函數進行網絡通信了。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 抚顺县| 蒙阴县| 方城县| 霍邱县| 岑溪市| 汶上县| 张家港市| 塔河县| 洛南县| 星子县| 改则县| 安徽省| 那坡县| 北海市| 岑溪市| 乐都县| 申扎县| 襄垣县| 玉门市| 定结县| 尼勒克县| 霸州市| 西乌珠穆沁旗| 苏州市| 启东市| 东丽区| 静宁县| 通辽市| 黄大仙区| 米泉市| 邵东县| 金平| 昭觉县| 棋牌| 虞城县| 张掖市| 阜新市| 灵宝市| 上林县| 福泉市| 丹寨县|