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

網(wǎng)絡(luò)通信系統(tǒng)的軟件設(shè)計
1WindowsCE中的網(wǎng)絡(luò)通信
WindowsCE6.0在網(wǎng)絡(luò)通信方面提供了完善的軟件支持,包括:(1)提供與Unix完全兼容的SocketAPI函數(shù),使其他平臺的網(wǎng)絡(luò)應(yīng)用程序很容易移植到WindowsCE中,而WindowsCE中的應(yīng)用程序也容易移植到其他平臺中;(2)操作系統(tǒng)本身也包含大量各種網(wǎng)絡(luò)協(xié)議,如TCP/IP、UDP、ICMP等;(3)操作系統(tǒng)本身提供各種網(wǎng)絡(luò)服務(wù),如IIS、TFTP;(4)提供小端口網(wǎng)卡驅(qū)動程序接口,只需編寫網(wǎng)卡的小端口驅(qū)動程序就能利用該網(wǎng)卡實現(xiàn)上面提供的各種網(wǎng)絡(luò)協(xié)議及網(wǎng)絡(luò)服務(wù);
2面向連接的TCP通信
TCP通信是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。具有五大特點:①面向連接的傳輸;②端到端的通信;③高可靠性;④全雙工方式傳輸;⑤采用字節(jié)流方式。TCP通信是指在進(jìn)行通信之前,通信雙方必須建立連接,通信結(jié)束之后終止其連接。也就是指當(dāng)兩臺計算機上的兩個應(yīng)用程序之間利用TCP進(jìn)行通信時,源和目標(biāo)之間會建立一個虛擬連接,這個連接一旦建立,兩臺計算機之間就可以把數(shù)據(jù)當(dāng)作一個雙向字節(jié)流進(jìn)行交換。TCP建立的連接是端到端的連接,即源與目標(biāo)之間的連接。TCP協(xié)議向應(yīng)用層提供了面向連接的服務(wù),以確保網(wǎng)絡(luò)上所傳送的數(shù)據(jù)包被完整、正確、可靠的接收。一旦數(shù)據(jù)有損傷或丟失,則由TCP負(fù)責(zé)重傳,應(yīng)用層不參與解決。本文在WindowsCE中實現(xiàn)一個TCP客戶端應(yīng)用程序,向PC機端的TCP服務(wù)器請求連接,連接成功后,客戶端應(yīng)用程序就可以與PC端的TCP服務(wù)端應(yīng)用程序進(jìn)行TCP通信了,連接的流程圖如圖2所示。在網(wǎng)絡(luò)應(yīng)用中,網(wǎng)絡(luò)通信一般可通過Socket實現(xiàn)。Socket編程均采用客戶機/服務(wù)器模式。
3軟件系統(tǒng)設(shè)計
由于在WindowsCE下的TCP/IP協(xié)議處理方法是分別在服務(wù)器端和客戶機端創(chuàng)建Socket程序,建立通信聯(lián)系的,下面就分別給出服務(wù)器端Socket和客戶機端Socket的實現(xiàn)方法。調(diào)用的主要函數(shù)有:創(chuàng)建套接字函數(shù)socket、監(jiān)聽函數(shù)listen、等待連接函數(shù)accept、數(shù)據(jù)接收函數(shù)read、數(shù)據(jù)發(fā)送函數(shù)write等。
3.1服務(wù)器端socket操作(1)建立套接字函數(shù)socket;(2)綁定地址和端口函數(shù)bind,將該socket與本機地址和端口號捆綁;(3)建立套接口隊列函數(shù)listen,在監(jiān)聽端口上監(jiān)聽客戶機的連接請求;(4)接收連接函數(shù)accept,當(dāng)accept捕捉到一個連接請求時,就建立連接線路并返回一個新的通信文件描述符;(5)處理連接函數(shù)read/write;(6)關(guān)閉套接口close。服務(wù)器端利用VisualC++編寫可運行于PC機上的TCP通信應(yīng)用程序。該程序調(diào)用Windows平臺提供的SocketAPI函數(shù),使用TCP協(xié)議。服務(wù)器端首先創(chuàng)建一個socket,等待與客戶機端的連接,連接成功后進(jìn)行數(shù)據(jù)的傳送。
3.2客戶機端socket操作(1)創(chuàng)建客戶端的Socket客戶端應(yīng)用程序首先調(diào)用WSAStartup函數(shù)來與Winsock的動態(tài)連接庫建立關(guān)系,然后調(diào)用socket來建立一個TCPsocket。socket函數(shù)第一個參數(shù)只能是AF_INET,socket函數(shù)的第二個參數(shù)設(shè)置位SOCK_STREAM,其第三個參數(shù)指定為0。(2)向服務(wù)器提出連接申請對客戶端來說,它不需要綁定,可以直接連接服務(wù)器端。調(diào)用connect函數(shù)來提出與服務(wù)器端建立連接的申請,首先定義一個地址結(jié)構(gòu)體變量,并對其成員進(jìn)行賦值,設(shè)定服務(wù)器端的IP地址和端口。(3)和服務(wù)器端進(jìn)行通信當(dāng)建立連接后,就可以調(diào)用send函數(shù)向服務(wù)器端發(fā)送數(shù)據(jù)了,之后調(diào)用recv函數(shù)接收服務(wù)器發(fā)送的數(shù)據(jù)。(4)關(guān)閉套接字當(dāng)完成通信后,調(diào)用closesocket函數(shù)關(guān)閉套接字,釋放為此套接字分配的資源。最后調(diào)用WSACleanup函數(shù),終止對套接字庫的使用??蛻舳死肰isualStudio2005編寫一個可運行于WindowsCE6.0操作系統(tǒng)上的應(yīng)用程序,該程序調(diào)用WindowsCE平臺提供的SocketAPI函數(shù),使用TCP協(xié)議,通過以太網(wǎng)芯片驅(qū)動。
系統(tǒng)測試
用網(wǎng)線連接PC機與網(wǎng)絡(luò)終端,在網(wǎng)絡(luò)終端中的以太網(wǎng)芯片設(shè)置WindowsCE的IP地址,確保通過PC可以Ping通網(wǎng)絡(luò)終端。在PC機上運行TCP測試工具軟件,設(shè)置本機端口號為1011,然后點擊“Connection”按鈕,啟動一個TCP服務(wù)。在WindowsCE中,點擊Embedded_TCP.exe,在跳出的對話框中填寫要連接的服務(wù)端地址(即PC機地址,為19168.22)和端口號(為1011),然后單擊“connect”按鈕,創(chuàng)建成功,按鈕會變成不可用,否則會報錯。這時,TCP測試工具軟件中監(jiān)聽到一個客戶端連接,就可以與客戶端進(jìn)行網(wǎng)絡(luò)通信了。
結(jié)語
本文根據(jù)WindowsCE操作系統(tǒng)的特點和TCP協(xié)議,利用Socket套接字編程,設(shè)計了在WindowsCE下的網(wǎng)絡(luò)通信軟件,并在網(wǎng)絡(luò)終端中運行成功。軟件可實現(xiàn)嵌入式網(wǎng)絡(luò)終端和PC機之間的通信功能,具有較大的靈活性和擴展性。在此基礎(chǔ)上可開發(fā)文本傳輸、通信故障檢測等應(yīng)用軟件。
作者:顧亭亭單位:南京航空航天大學(xué)金城學(xué)院
網(wǎng)絡(luò)營銷 網(wǎng)絡(luò)環(huán)境 網(wǎng)絡(luò)會計 網(wǎng)絡(luò)廣告 網(wǎng)絡(luò)通信 網(wǎng)絡(luò)安全 網(wǎng)絡(luò)教育研究 網(wǎng)絡(luò)教育 網(wǎng)絡(luò)優(yōu)化論文 網(wǎng)絡(luò)輿論論文 紀(jì)律教育問題 新時代教育價值觀