<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于PXA270嵌入式Web服務(wù)器的設(shè)計與實(shí)現(xiàn)

          基于PXA270嵌入式Web服務(wù)器的設(shè)計與實(shí)現(xiàn)

          作者: 時間:2009-07-06 來源:網(wǎng)絡(luò) 收藏

          (2)TCP/IP協(xié)議族的裁剪。在TCP協(xié)議中采用“停止等待算法”代替“滑動窗口算法”。一方面是由于數(shù)據(jù)量小,對網(wǎng)絡(luò)擁塞不會產(chǎn)生太大影響,從而可以裁剪TCP的流量控制功能;另一方面是因?yàn)閿?shù)據(jù)量小時,采用停止等待算法的傳輸效率和滑動窗口算法的效率差不多,因此采用簡單停止等待算法代替復(fù)雜的滑動窗口算法,不但降低了難度,提高了處理速度,同時取消了TCP發(fā)送緩存區(qū)和接收緩存區(qū),從而減小了占用存儲空間。研究發(fā)現(xiàn),如果TCP層的上層端的應(yīng)用,可以將標(biāo)準(zhǔn)TCP狀態(tài)機(jī)建立連接過程中客戶端建立連接的狀態(tài)機(jī)部分簡化掉,即將主動創(chuàng)建連接的SYN-SENT狀態(tài),主動關(guān)閉連接的FIN-WAIT1,F(xiàn)IN-WAIT2,CL0SING,TIME-WAIT狀態(tài)。同理,如果應(yīng)用是客戶端的,還可以將建立連接的狀態(tài)機(jī)部分簡化。當(dāng)處于監(jiān)聽狀態(tài)的收到客戶端的請求時,發(fā)送“ACK+對方發(fā)過來的SYN數(shù)據(jù)”。當(dāng)收到來自客戶端的一個僅含有ACK的空數(shù)據(jù)片后,雙方進(jìn)人Established狀態(tài)建立連接,之后可以進(jìn)行TCP數(shù)據(jù)通信。這樣既節(jié)省了系統(tǒng)開銷,同時也保證了所有的數(shù)據(jù)段都能安全正確地到達(dá)目的端。

          (3)編寫HTTP Server。Linux下服務(wù)器主要有3個:httpd,thttpd和Boa。系統(tǒng)以boa作為服務(wù)器。Boa是一個單任務(wù)的http服務(wù)器,源代碼開放、性能高。建立boa 服務(wù)器的步驟如下:

          ①下載boa源代碼boa-0.94.14r21.tar.gz。BoaWeb服務(wù)器的源代碼可以從http://www.boa.org下載,當(dāng)前最新版本為0.94.14。

          ②安裝并編譯boa源代碼。首先將源碼文件進(jìn)行解壓,修改Makefile文件,修改CC=gcc為CC=/usr/local/arm-linux/bin/arm-linux-gcc(//自己主機(jī)交叉編譯器的目錄),修改CPP=gcc-E為CPP=/usr/local/arm-linux/bin/arm-linux-gcc-E,執(zhí)行make,即可在SRC下得到boa可執(zhí)行文件。

          ③配置boa Web服務(wù)器。Boa啟動時將加載一個配置文件boa.conf,在boa程序運(yùn)行前,必須對其進(jìn)行修改。

          ④執(zhí)行Boa。成功配置以后,創(chuàng)建日志文件所在目錄/var/log/boa,創(chuàng)建HTML文檔的主目錄/var/www,將靜態(tài)網(wǎng)頁存入該目錄下(將主機(jī)/usr/share/doc/HTML/目錄下的index.html文件和img目錄復(fù)制到/var/www目錄下),創(chuàng)建CGI腳本所在錄/var/www/cgi-bin,將cgi的腳本存放在該目錄下,另外還要將mime.types文件復(fù)制/etc目錄下。在實(shí)際運(yùn)行時,可以將index.html,index_Zcn.html文件、img目錄和mime.types文件放到CF卡目錄下,建立目錄后,拷貝至相應(yīng)目錄。啟動ARM-Linux,在終端運(yùn)行./boa,用網(wǎng)頁瀏覽器訪問,看到/usr/share/doc/HTML/目錄下的index.html網(wǎng)頁,Web服務(wù)器移植成功。

          (4)CGI程序

          Web服務(wù)器,其為用戶提供HTTP協(xié)議的網(wǎng)絡(luò)接入方式,再通過編寫適當(dāng)?shù)腃GI程序來動態(tài)網(wǎng)頁的交互。

          要使用CGI程序,一般使用HTML中的FORM結(jié)構(gòu):FORM ACTION=/cgi-bin/文件名;METHOD=傳送方法>內(nèi)容/FORM>,其ACTION屬性指定相關(guān)的CGI程序,METHOD屬性指明提交數(shù)據(jù)的方法(POST或GET);也可以在A>標(biāo)簽的HREF屬性中調(diào)用CGI程序,結(jié)構(gòu)如:A HREF=/cgi-bin/文件名>START CGI/A>;還可以在IMG>的HTML標(biāo)簽中調(diào)用CGI程序,如果把CGI程序的路徑當(dāng)作SRC屬性的話,服務(wù)器就會去運(yùn)行程序并把運(yùn)行結(jié)果當(dāng)成圖像的來源,結(jié)構(gòu)如:IMGSRC=/cgi-bin/文件名>。

          4 結(jié) 語

          嵌入式Web服務(wù)器是實(shí)現(xiàn)嵌入式系統(tǒng)通過Web方式與Intenet互聯(lián)的關(guān)鍵組成部分,直接影響網(wǎng)絡(luò)應(yīng)用系統(tǒng)運(yùn)行的質(zhì)量與效率,對其進(jìn)行研究對Intenet技術(shù)的發(fā)展有重要意義。本文提出一種ARM-Linux操作系統(tǒng)的嵌入式Web服務(wù)器的方法,并給出相應(yīng)的軟硬件,并利用Socket編程和CGI程序完成整個Web服務(wù)器的設(shè)計。該嵌入式Web服務(wù)器具有成本低、開放性好、可移植性強(qiáng)等優(yōu)點(diǎn),便于后期維護(hù)和升級。由于此設(shè)計的嵌入式Web服務(wù)器是一個單獨(dú)的模塊,提供的是標(biāo)準(zhǔn)接口,只要在軟件上作少許的修改就能很容易地應(yīng)用到其他的嵌入式設(shè)備(如智能家電、現(xiàn)場節(jié)點(diǎn)等)中,具有一定的推廣價值。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();