基于TCP/IP的遠(yuǎn)程雷達(dá)配電系統(tǒng)
3 軟件設(shè)計(jì)
監(jiān)控計(jì)算機(jī)(客戶端)和遠(yuǎn)程EIO控制模塊(服務(wù)端)之間采用計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信,具有通信可靠和速度快(10 Mb/s以上)的優(yōu)點(diǎn)。
EIO控制模塊的軟件采用C51編程語言進(jìn)行編寫,主要負(fù)責(zé)處理網(wǎng)絡(luò)協(xié)議芯片參數(shù)的配置,處理串口數(shù)據(jù)和網(wǎng)絡(luò)報(bào)文數(shù)據(jù)的轉(zhuǎn)換,以及IO控制請(qǐng)求報(bào)文數(shù)據(jù)的轉(zhuǎn)換和控制等,程序固化在單片CPU中。把IO端口和串口的控制設(shè)為兩個(gè)Socket端口,端口號(hào)分別為5100和6020,其中IO端口數(shù)據(jù)發(fā)生變化時(shí)主動(dòng)向連接的客戶端發(fā)送報(bào)文,正常情況下定時(shí)發(fā)送IO狀態(tài)報(bào)文。串口端口接收到客戶端請(qǐng)求后,在串口得到響應(yīng)后發(fā)送報(bào)文。
監(jiān)控計(jì)算機(jī)控制軟件在Windows XP環(huán)境下采用Visual C++6.0工具進(jìn)行編寫。Winsocket為Windows下網(wǎng)絡(luò)異步通信提供了一種方便開發(fā)和運(yùn)行的環(huán)境,網(wǎng)絡(luò)應(yīng)用程序不直接與TCP/IP核心打交道,而與網(wǎng)絡(luò)應(yīng)用編程界面Socket打交道。CAsyncsocket類是CObject類的派生類,封裝了Windows套接字API函數(shù)。它被集成在MFC類庫中,從而將面向?qū)ο蟮姆椒ㄅcWindows套接字聯(lián)系在一起。在本程序中,使用的是CSocket類。CSocket類是CAsyncsocket類的派生類,與CAsyncsocket類相比,CSocket類提供了更高層次的套接字支持。也就是說,使用CSocket類可以忽略網(wǎng)絡(luò)通信中的細(xì)節(jié),比如創(chuàng)建窗口、消息發(fā)送和消息綁定等。使用CSocket類實(shí)現(xiàn)網(wǎng)絡(luò)間數(shù)據(jù)的發(fā)送和接收,沒有使用傳統(tǒng)的send與recv函數(shù),而是使用CSocket類、CSocketFiIe類與CA rchive類協(xié)同工作,實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收。
在遠(yuǎn)程網(wǎng)絡(luò)通信模塊中,按照Client/Server模式采用面向連接的服務(wù),其套接字調(diào)用順序如圖3所示。本文引用地址:http://cafeforensic.com/article/153986.htm
tcp/ip相關(guān)文章:tcp/ip是什么
評(píng)論