2、析62.1整體結(jié)構(gòu)圖62.2連接處理校塊6三、詳細(xì)設(shè)汁73.1主程序設(shè)計(jì)73.2客戶連接處理模塊設(shè)計(jì)83.3客戶請(qǐng)求解析處理模塊設(shè)計(jì)83.4發(fā)送HTTP協(xié)議數(shù)據(jù)頭模塊設(shè)計(jì)9四、運(yùn)行結(jié)果11參考文獻(xiàn)16總結(jié)18致謝20附錄21摘要嵌入式Web服務(wù)器主要用于遠(yuǎn)程監(jiān)測(cè)和控制,它不同于傳統(tǒng)的Web服務(wù)器,硬件處理器能力和儲(chǔ)存能力有限,因此操作系統(tǒng)等相關(guān)軟件需要進(jìn)行裁剪以適應(yīng)嵌入式環(huán)境,開(kāi)源代碼的操作系統(tǒng)Linu型具有強(qiáng)大的網(wǎng)絡(luò)服務(wù)功能,支持多種網(wǎng)絡(luò)接口和網(wǎng)絡(luò)協(xié)議棧,同時(shí)具有成本低性能穩(wěn)定,擴(kuò)充能力強(qiáng)等特點(diǎn),成為嵌入式操作系統(tǒng)的首選。關(guān)鍵詞:Linux;W
3、eb服務(wù)器;瀏覽器;交叉編譯刖B嵌入式系統(tǒng)已經(jīng)成熟并且得到了廣泛地使用。在傳統(tǒng)的測(cè)控系統(tǒng)中,為了實(shí)現(xiàn)多個(gè)測(cè)控點(diǎn)之間的信息交流,一般采用RS-485、CAN、SP1等總線將多個(gè)測(cè)控節(jié)點(diǎn)纟11織成一個(gè)網(wǎng)絡(luò),但是這樣的網(wǎng)絡(luò)專用性太強(qiáng),有效地通信范圍太窄,而基于TCP/IP協(xié)議的Web技術(shù)得到了普及,更重要的是這些協(xié)議是可開(kāi)發(fā)的、標(biāo)準(zhǔn)的、獨(dú)立于平臺(tái)的。把嵌入式系統(tǒng)和與Web技術(shù)結(jié)合在一起,將Web技術(shù)引入到測(cè)量和控制系統(tǒng)中,實(shí)現(xiàn)基于嵌入式Web服務(wù)器的遠(yuǎn)程控制系統(tǒng),必將有良好地應(yīng)用前景。嵌入式系統(tǒng)離不開(kāi)嵌入式操作系統(tǒng)。目前商用的操作系統(tǒng)往往價(jià)格昂貴,不適
4、應(yīng)廣泛應(yīng)用。嵌入式Linux操作系統(tǒng)源碼可開(kāi)發(fā)。移植性好,支持多種硬件平臺(tái)并且支持幾乎所有的常見(jiàn)網(wǎng)絡(luò)通信協(xié)議支持的文件系統(tǒng)也很豐富,是一個(gè)功能完整的嵌入式操作系統(tǒng)并且有大量的優(yōu)秀開(kāi)發(fā)碼源的應(yīng)用軟件和開(kāi)發(fā)工具可以使用。因此,釆用Linux作為Y?臺(tái),使用Web技術(shù)進(jìn)行遠(yuǎn)程在線測(cè)控系統(tǒng)的設(shè)計(jì)。一、基本原理1.1嵌入式WEB服務(wù)器概述1)WEB服務(wù)器通常是在遠(yuǎn)程機(jī)器上,負(fù)責(zé)對(duì)瀏覽器頁(yè)面請(qǐng)求作出響應(yīng),返回HTML編碼或類似的數(shù)據(jù)流。通俗的講,Web服務(wù)器傳送(serves)頁(yè)面使瀏覽器可以瀏覽,然而應(yīng)用程序服務(wù)器提供的是客戶端應(yīng)用程序可以調(diào)用(call)
5、的方法(methods)。確切一點(diǎn),你可以說(shuō):Web服務(wù)器專門處理HTTP請(qǐng)求(request),但是應(yīng)用程序服務(wù)器是通過(guò)很多協(xié)議來(lái)為應(yīng)用程序提供(serves)商業(yè)邏輯(businesslogic)。隨著Internet技術(shù)的興起,在嵌:入式設(shè)備的管理與交互屮,基于Web方式的應(yīng)用成為目前的主流,這種程序結(jié)構(gòu)也就是大家非常熟悉的B/S結(jié)構(gòu),即在嵌入式設(shè)備上運(yùn)行一個(gè)支持腳本或CG1功能的Web服務(wù)器,能夠生成動(dòng)態(tài)頁(yè)而,在用戶端只需要通過(guò)Web瀏覽器就可以對(duì)嵌入式設(shè)備進(jìn)行管理和監(jiān)控,非常方便實(shí)用。2)WEB瀏覽器WEB瀏覽器是個(gè)敁示網(wǎng)頁(yè)伺服器或捫案
6、系統(tǒng)內(nèi)的HTML文件,并讓用戶與此些文件互動(dòng)的一種軟件。個(gè)人電腦上常見(jiàn)的網(wǎng)頁(yè)瀏覽器包括微軟的InternetExplorer、Mozilla的Firefox、Opera和Safari。瀏覽器是最經(jīng)常使用到的客廣端程序。3)嵌入式WEB服務(wù)器架構(gòu)瀏覽器HTMLWEB服務(wù)器數(shù)據(jù)服務(wù)器JavaScript等欣入式Linux傳感器測(cè)控模塊執(zhí)行器嵌入式WEB服務(wù)器架構(gòu)常見(jiàn)的嵌入式WEB月艮務(wù)器有l(wèi)ighttpd、shttpd、thttpd、boa、mathopd、minihttpd、appweb>goahead等上百種。1.2SOCKET編程概述現(xiàn)在大多數(shù)
7、的操作系統(tǒng)都提供了已編譯好了的網(wǎng)絡(luò)通訊程序。TCP/IP范圍內(nèi)最普通的例子就是web客廣端(瀏覽器)和web服務(wù)器,還冇就是FTP和Telnet的客戶端和服務(wù)器等。Socket接口是TCP/IP網(wǎng)絡(luò)的API,Socket接口定義了許多函數(shù)或例程,程序員可以用它們來(lái)幵發(fā)TCP/IP網(wǎng)絡(luò)上的應(yīng)用程序。SOCKET編程接I丨#includeintsocket(intdomain,inttype,intprotocol);說(shuō)明:socket()函數(shù)創(chuàng)建一個(gè)套接字參數(shù):domain:應(yīng)用程序所在主機(jī)使用的通信協(xié)議族type:建立
8、的套接字的類型Protocol:使用的特定協(xié)議^includeintbind(intsockfd,struc