最近中文字幕2018免费版2019,久久国产劲暴∨内射新川,久久久午夜精品福利内容,日韩视频 中文字幕 视频一区

首頁 > 文章中心 > 正文

網絡通信系統的軟件設計

前言:本站為你精心整理了網絡通信系統的軟件設計范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

網絡通信系統的軟件設計

網絡通信系統軟件設計

1WindowsCE中的網絡通信

WindowsCE6.0在網絡通信方面提供了完善的軟件支持,包括:(1)提供與Unix完全兼容的SocketAPI函數,使其他平臺的網絡應用程序很容易移植到WindowsCE中,而WindowsCE中的應用程序也容易移植到其他平臺中;(2)操作系統本身也包含大量各種網絡協議,如TCP/IP、UDP、ICMP等;(3)操作系統本身提供各種網絡服務,如IIS、TFTP;(4)提供小端口網卡驅動程序接口,只需編寫網卡的小端口驅動程序就能利用該網卡實現上面提供的各種網絡協議及網絡服務;

2面向連接的TCP通信

TCP通信是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。具有五大特點:①面向連接的傳輸;②端到端的通信;③高可靠性;④全雙工方式傳輸;⑤采用字節流方式。TCP通信是指在進行通信之前,通信雙方必須建立連接,通信結束之后終止其連接。也就是指當兩臺計算機上的兩個應用程序之間利用TCP進行通信時,源和目標之間會建立一個虛擬連接,這個連接一旦建立,兩臺計算機之間就可以把數據當作一個雙向字節流進行交換。TCP建立的連接是端到端的連接,即源與目標之間的連接。TCP協議向應用層提供了面向連接的服務,以確保網絡上所傳送的數據包被完整、正確、可靠的接收。一旦數據有損傷或丟失,則由TCP負責重傳,應用層不參與解決。本文在WindowsCE中實現一個TCP客戶端應用程序,向PC機端的TCP服務器請求連接,連接成功后,客戶端應用程序就可以與PC端的TCP服務端應用程序進行TCP通信了,連接的流程圖如圖2所示。在網絡應用中,網絡通信一般可通過Socket實現。Socket編程均采用客戶機/服務器模式。

3軟件系統設計

由于在WindowsCE下的TCP/IP協議處理方法是分別在服務器端和客戶機端創建Socket程序,建立通信聯系的,下面就分別給出服務器端Socket和客戶機端Socket的實現方法。調用的主要函數有:創建套接字函數socket、監聽函數listen、等待連接函數accept、數據接收函數read、數據發送函數write等。

3.1服務器端socket操作(1)建立套接字函數socket;(2)綁定地址和端口函數bind,將該socket與本機地址和端口號捆綁;(3)建立套接口隊列函數listen,在監聽端口上監聽客戶機的連接請求;(4)接收連接函數accept,當accept捕捉到一個連接請求時,就建立連接線路并返回一個新的通信文件描述符;(5)處理連接函數read/write;(6)關閉套接口close。服務器端利用VisualC++編寫可運行于PC機上的TCP通信應用程序。該程序調用Windows平臺提供的SocketAPI函數,使用TCP協議。服務器端首先創建一個socket,等待與客戶機端的連接,連接成功后進行數據的傳送。

3.2客戶機端socket操作(1)創建客戶端的Socket客戶端應用程序首先調用WSAStartup函數來與Winsock的動態連接庫建立關系,然后調用socket來建立一個TCPsocket。socket函數第一個參數只能是AF_INET,socket函數的第二個參數設置位SOCK_STREAM,其第三個參數指定為0。(2)向服務器提出連接申請對客戶端來說,它不需要綁定,可以直接連接服務器端。調用connect函數來提出與服務器端建立連接的申請,首先定義一個地址結構體變量,并對其成員進行賦值,設定服務器端的IP地址和端口。(3)和服務器端進行通信當建立連接后,就可以調用send函數向服務器端發送數據了,之后調用recv函數接收服務器發送的數據。(4)關閉套接字當完成通信后,調用closesocket函數關閉套接字,釋放為此套接字分配的資源。最后調用WSACleanup函數,終止對套接字庫的使用。客戶端利用VisualStudio2005編寫一個可運行于WindowsCE6.0操作系統上的應用程序,該程序調用WindowsCE平臺提供的SocketAPI函數,使用TCP協議,通過以太網芯片驅動。

系統測試

用網線連接PC機與網絡終端,在網絡終端中的以太網芯片設置WindowsCE的IP地址,確保通過PC可以Ping通網絡終端。在PC機上運行TCP測試工具軟件,設置本機端口號為1011,然后點擊“Connection”按鈕,啟動一個TCP服務。在WindowsCE中,點擊Embedded_TCP.exe,在跳出的對話框中填寫要連接的服務端地址(即PC機地址,為19168.22)和端口號(為1011),然后單擊“connect”按鈕,創建成功,按鈕會變成不可用,否則會報錯。這時,TCP測試工具軟件中監聽到一個客戶端連接,就可以與客戶端進行網絡通信了。

結語

本文根據WindowsCE操作系統的特點和TCP協議,利用Socket套接字編程,設計了在WindowsCE下的網絡通信軟件,并在網絡終端中運行成功。軟件可實現嵌入式網絡終端和PC機之間的通信功能,具有較大的靈活性和擴展性。在此基礎上可開發文本傳輸、通信故障檢測等應用軟件。

作者:顧亭亭單位:南京航空航天大學金城學院

主站蜘蛛池模板: 广灵县| 林口县| 南召县| 靖江市| 汝阳县| 淮滨县| 晴隆县| 兰溪市| 长海县| 桂林市| 彰化县| 屏边| 大渡口区| 吴江市| 固镇县| 临猗县| 荣昌县| 西昌市| 兰坪| 肃南| 岑巩县| 北京市| 郁南县| 象州县| 大竹县| 连山| 友谊县| 万荣县| 称多县| 枣强县| 东宁县| 大埔区| 诏安县| 平南县| 元氏县| 金平| 布尔津县| 渝北区| 改则县| 峡江县| 扎鲁特旗|