資源描述:
《嵌入式web服務(wù)器boa的實現(xiàn)課程設(shè)計報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、湖北汽車工比修院HubeiAutomotiveIndustriseInstitute課程設(shè)計說朗書課程名稱設(shè)計題目班號專業(yè)學(xué)號學(xué)生姓名指導(dǎo)教師(簽字)起至日期年—月—日一一年—月日一目的與要求11?1課程設(shè)計的目的11?2課程設(shè)計的要求1二課程設(shè)計的內(nèi)容12.1課程設(shè)計的內(nèi)容12.2原理和說明22.2.1boa簡介32.2.2cgi簡介42.3課程設(shè)計的功能分析4三總體設(shè)計方案53.1系統(tǒng)運行環(huán)境53.2選用工具53.3工作原理圖53.4具體設(shè)計過程5四調(diào)試與測試10五課設(shè)總結(jié)與體會11六參考文獻12目的與要求1.1課程設(shè)計的目的開設(shè)本課程
2、設(shè)計的目的是,通過本課程設(shè)計,提高學(xué)生的分析問題、解決問題的能力,鞏固嵌入式系統(tǒng)的基本理論知識,進一步了解和掌握課程中所講授的概念,方法。同時通過本課程設(shè)計,全面綜合應(yīng)用所學(xué)過的基礎(chǔ)知識,建立一個完整的嵌入式系統(tǒng)的開發(fā)過程的概念,并掌握其中的主要原理和方法。(1)提高分析問題、解決問題的能力,進一步鞏固嵌入式系統(tǒng)中的基木原理與方法。(2)熟悉Linux數(shù)據(jù)庫編程,可以進行嵌入式web服務(wù)器的建立與程序設(shè)計。1.2課程設(shè)計的要求木次課設(shè)的要求如下:1、理解Linux下的網(wǎng)絡(luò)編程的實際意義。2、獨立進行方案的制定,系統(tǒng)結(jié)構(gòu)設(shè)計要合理。3、在程序
3、開發(fā)時,則必須清楚主要實現(xiàn)函數(shù)的目的和作用,需要在程序書寫時說明做適當?shù)淖⑨尅R斫饷總€函數(shù)的具體意義和適用范圍,在寫課設(shè)報告時,必須要將主要函數(shù)的功能和參數(shù)做詳細的說明。4、通過網(wǎng)絡(luò)來檢測該系統(tǒng)的穩(wěn)定性和止確性。二課程設(shè)計的內(nèi)容2.1整個系統(tǒng)要完成的基本內(nèi)容大致如下:1、熟悉開發(fā)環(huán)境的網(wǎng)絡(luò)特性,熟悉Linux下的網(wǎng)絡(luò)編程;2、通過CGI實現(xiàn)一個嵌入式web服務(wù)器;3、閱讀WEB服務(wù)器HTTP協(xié)議的基本內(nèi)容,學(xué)會幾個重要的網(wǎng)絡(luò)函數(shù)的使用方法;4、在PC計算機上使用瀏覽器測試嵌入式WEB服務(wù)器的功能;5、服務(wù)器可支持動態(tài)配置,可解釋靜態(tài)網(wǎng)頁和
4、動態(tài)網(wǎng)頁;在實現(xiàn)整個系統(tǒng)的時候,必須有1、2、3、4及5中的這些基本內(nèi)容,可以根據(jù)興趣所在增加其他的內(nèi)容。2.2課程設(shè)計的原理和說明隨著Internet技術(shù)的興起,在嵌入式設(shè)備的管理與交互屮,基于Web方式的應(yīng)用成為目前的主流,這種程序結(jié)構(gòu)也就是大家非常熟悉的B/S結(jié)構(gòu),即在嵌入式設(shè)備上運行一個支持腳木或CGI功能的Web服務(wù)器,能夠生成動態(tài)頁面,在用戶端只需要通過Web瀏覽器就可以對嵌入式設(shè)備進行管理和監(jiān)控,非常方便實用。首先需要在嵌入式設(shè)備上成功移植支持腳本或CGI功能的Web服務(wù)器,然后才能進行應(yīng)用程序的開發(fā)。由于嵌入式設(shè)備資源一般都
5、比較有限,并且也不需要能同時處理很多用戶的請求,因此不會使用Linux下最常用的如Apache等服務(wù)器,而需要使用一些專門為嵌入式設(shè)備設(shè)計的Web服務(wù)器,這些Web服務(wù)器在存貯空間和運行時所占有的內(nèi)存空間上都會非常適合于嵌入式應(yīng)用場合。嵌入式WEB服務(wù)器常見的有1ighttpd>shttpd>thttpd>boa>mathopd>minihttpd>appweb和goaheada典型的嵌入式Web服務(wù)器有Boa(www.boa.org)和thttpd(http://www.acme,com/software/thttpd/)等,它們和Apa
6、che等高性能的Web服務(wù)器主要的區(qū)別在于它們一般是單進程服務(wù)器,只有在完成一個用戶請求后才能響應(yīng)另一個用戶的請求,而無法并發(fā)響應(yīng),但這在嵌入式設(shè)備的應(yīng)用場合里已經(jīng)足夠了。嵌入式vcb服務(wù)器移植配置好后,接著進行GCI程序設(shè)計。CGI(CommonGatewayInterface)是外部應(yīng)用擴展應(yīng)用程序與WWW服務(wù)器交互的一個標準接口。按照CGT標準編寫的外部擴展應(yīng)用程序可以處理客戶端瀏覽器輸入的數(shù)據(jù),從而完成客戶端與服務(wù)器的交互操作。而CGI規(guī)范就定義了Web服務(wù)器如何向擴展應(yīng)用程序發(fā)送消息,在收到擴展應(yīng)用程序的信息后又如何進行處理等內(nèi)
7、容。通過CGI可以提供許多靜態(tài)的HTML網(wǎng)頁無法實現(xiàn)的功能,比如搜索引擎、基于Web的數(shù)據(jù)庫訪問等等。HTTP協(xié)議是WW的基礎(chǔ),它基于客戶/服務(wù)器模型,一個服務(wù)器可以為分布在網(wǎng)絡(luò)中處的客戶提供服務(wù);它是建立在TCP/IP協(xié)議之上的“無連接”協(xié)議,每次連接只處理一個請求。在服務(wù)器上,運行產(chǎn)著一個守護進程對端口進行監(jiān)聽,等待來自客戶的請求。當一個請求到來時,將創(chuàng)建一個子進程為用戶的連接服務(wù)。根據(jù)請求的不同,服務(wù)器返回IITML文件或者通過CGI調(diào)用外部應(yīng)用程序,返回處理結(jié)果。服務(wù)器通過CGI與外部程序和腳本之間進行交互,根據(jù)客戶端在進行請求時所
8、釆取的方法,服務(wù)器會收集客戶所提供的信息,并將該部分信息發(fā)送給指定的CG1擴展程序。CGI擴展程序進行信息處理并將結(jié)果返回服務(wù)器,然后服務(wù)器對信息進行分析,并將結(jié)果發(fā)送回客戶端。