freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

最新嵌入式web服務(wù)器設(shè)計-在線瀏覽

2024-09-07 22:51本頁面
  

【正文】 WEB服務(wù)器,能夠顯示靜態(tài)頁面。方案二:Apache+SQLite+PHP數(shù)據(jù)庫采用嵌入式數(shù)據(jù)庫SQLite,服務(wù)器采用Apache,,安裝到ARM2410開發(fā)板上。方案三: 移植BOA服務(wù)器在ARM上移植支持腳本或CGI功能的BOA服務(wù)器。支持CGI,能夠為CGI程序生成一個進(jìn)程來執(zhí)行。經(jīng)過比較以上三種方案,最終確定方案一和方案二。 軟件資源、硬件資源簡介本課題研究的嵌入式WEB服務(wù)器應(yīng)用的軟硬件資源有:在PC機(jī)上運行的Red Hat 、在ARM芯片上運行的ARMLinux嵌入式操作系統(tǒng)、UPARM2410S實驗箱。 操作系統(tǒng)簡介 本課題應(yīng)用的是Linux操作系統(tǒng),PC機(jī)上運行的是Red Hat Linux操作系統(tǒng),ARM上運行的是嵌入式操作系統(tǒng)ARMLinux。Linux是能夠自由傳播并繼承了Unix內(nèi)核的操作系統(tǒng),是對Unix的簡化和改進(jìn),它既保留了Unix系統(tǒng)的高安全性,同時也使其操作更加簡單方便,從而使單機(jī)用戶也可以使用。Linux是由芬蘭的赫爾辛基大學(xué)學(xué)生Linus Torvalds把Minix系統(tǒng)向X86移植的結(jié)果。本課題在PC機(jī)上采用Red Hat Linux 。雖然大多數(shù) Linux 系統(tǒng)運行在 PC 平臺上,但 Linux 也是嵌入式系統(tǒng)的可靠主力。 Linux 中有許多命令和編程接口同傳統(tǒng)的 Unix一樣。隨著 Linux 社團(tuán)的不斷努力,Linux的人機(jī)界面開發(fā)環(huán)境正在不斷完善。一個功能完備的 Linux 內(nèi)核要求大約 1 MB 內(nèi)存。只要有 500 K 的內(nèi)存,一個有網(wǎng)絡(luò)棧和基本實用程序的完全的 Linux 系統(tǒng)就可以在一臺 8 位總線(SX)的 Intel 386 微處理器上運行的很好了。為了降低系統(tǒng)總成本和減少外圍器件,這款芯片中還集成了以下部件:16kb指令Cache、16kb數(shù)據(jù)Cache,MMU,外部存儲器控制器,LCD控制器,NAND Flash 控制器,4個DMA通道,3個URT通道,1個IIC總線控制器,1個IIS總線控制器,以及4個PWM和1個內(nèi)部定時器,通用I/O口,實時時鐘,8通道10位ADC和觸摸屏接口,SD/MMC卡接口等。16/32位RISC結(jié)構(gòu)和ARM精簡指令集,支持ARM調(diào)試結(jié)構(gòu),片上ICE支持JTAG調(diào)試方式,內(nèi)置先進(jìn)微控制器總線接口AMBA。 UPNetARM2410S的 CPU 為采用ARM920T內(nèi)核的三星 S3c2410 芯片,由于有 MMU可以運行標(biāo)準(zhǔn)的 ARMLINUX 內(nèi)核。通信協(xié)議規(guī)定了信息傳輸?shù)母鞣N規(guī)則,保證數(shù)據(jù)在傳輸過程中的完整性、正確性,當(dāng)數(shù)據(jù)傳輸出現(xiàn)故障時要求服務(wù)器再次發(fā)送該數(shù)據(jù)。在通信時,服務(wù)器首先啟動偵聽進(jìn)程,當(dāng)有來自瀏覽器的請求時,服務(wù)器解析請求并將請求數(shù)據(jù)發(fā)送給瀏覽器。 嵌入式WEB服務(wù)器的構(gòu)成嵌入式WEB服務(wù)器的軟件系統(tǒng)主要解決遠(yuǎn)程用戶通過Internet訪問現(xiàn)場設(shè)備的問題, 為此必須在設(shè)備中嵌入 TCP/IP 協(xié)議棧和 WEB Server, 以解決非 Internet 設(shè)備的網(wǎng)絡(luò)互聯(lián)和管理問題。嵌入式WEB服務(wù)器硬件系統(tǒng)是包含了 WEB 通信功能的微型處理器,它可以和前端的應(yīng)用系統(tǒng)直接集成在一起, 也可以通過現(xiàn)場總線與應(yīng)用系統(tǒng)相連。 DRAM存儲器供系統(tǒng)運行時使用。 前端應(yīng)用系統(tǒng)的硬件完成傳統(tǒng)意義上的應(yīng)用功能。嵌入式 WEB 服務(wù)器的核心是 HTTP 引擎和CGI接口。在嵌入式 WEB 服務(wù)器中, 為了得到一個穩(wěn)定的用戶界面而又不影響嵌入式系統(tǒng)的 CPU和內(nèi)存資源, 應(yīng)該使用 標(biāo)準(zhǔn)。其主要功能是在 WEB 環(huán)境下, 從客戶端傳送一些信息給WEB服務(wù)器,WEB服務(wù)器把接收到的有關(guān)信息放入環(huán)境變量,然后再去啟動所指定的 CGI 腳本以完成特定的工作, CGI 腳本從環(huán)境變量中獲取相關(guān)信息來運行, 最后以 HTML格式輸出相應(yīng)的執(zhí)行結(jié)果返回給瀏覽器端。一個完整的嵌入式WEB服務(wù)器系統(tǒng)由瀏覽器和服務(wù)器兩部分構(gòu)成,二者通過網(wǎng)絡(luò)連接。在服務(wù)器端,首先創(chuàng)建一個套接字,并將該套接字與服務(wù)器的公認(rèn)地址綁定在一起;接著將套接字轉(zhuǎn)換成偵聽套接字用來偵聽用戶請求,然后接受客戶機(jī)的連接。本論文的嵌入式WEB服務(wù)器主要由初始化模塊、偵聽模塊、請求解析模塊、腳本引擎模塊、輸出模塊和命令執(zhí)行模塊,: WEB服務(wù)器模塊圖 初始化模塊用于定義變量、設(shè)置信號量、創(chuàng)建套接字、將套接字與本地地址和端口綁定,并設(shè)置套接字處理偵聽狀態(tài)。請求解析模塊是服務(wù)器的核心所在,根據(jù)用戶的請求,進(jìn)行相應(yīng)的處理。 通信協(xié)議WEB在工作過程中,使用TCP/IP、HTTP協(xié)議和HTML語言,它們只在自己的層次上工作。連接到Internet上的所有計算機(jī)都使用這個通信標(biāo)準(zhǔn),它的功能是負(fù)責(zé)Internet上的任意兩個計算機(jī)之間準(zhǔn)確傳送數(shù)據(jù)。超文本(Hypertext)就是在引用處到被引用的對象之間用一個有向鏈(Link)表示。WEB客戶機(jī)要想與服務(wù)器進(jìn)行對話,它就用TCP/IP向服務(wù)器發(fā)送HTTP信息。HTML是專門用來描述WEB頁面的,對于用HTML描述的信息,WEB瀏覽器可以以一種客戶比較容易理解的方式表達(dá)出來,并顯示在客戶機(jī)的顯示器上。IP協(xié)議可以進(jìn)行IP數(shù)據(jù)包的分割和組裝,但是通過IP協(xié)議并不能清楚地了解到數(shù)據(jù)包是否順利地發(fā)送給目標(biāo)計算機(jī)。另外,在傳輸?shù)倪^程中,如果接收到無序、丟失以及被破壞的數(shù)據(jù)包,TCP還可以負(fù)責(zé)恢復(fù)。服務(wù)器程序開始運行時,主進(jìn)程(守護(hù)進(jìn)程) 就創(chuàng)建一個套接口, 并和主機(jī)地址綁定到一起,隨后置為被動監(jiān)聽狀態(tài),等待客戶端連接請求的到來。程序具體如下 :int socket (family,type,protocol) 該函數(shù)用來創(chuàng)建一個套接口,并返回一個短整數(shù)的套接口描述符;int bind(socket,localaddr,addrlen) 該函數(shù)為一個套接口指明一個本地 IP地址和協(xié)議端口號,一般用來為服務(wù)器指定指明端口,其中socket 為上邊socket() 函數(shù)所創(chuàng)建的套接口描述符;int listen (socket,queuelen) 服務(wù)器使用該函數(shù)使上面所創(chuàng)建的套接口處于被動監(jiān)聽狀態(tài)(即準(zhǔn)備接受客戶端的請求);int accept(socket,addr,addrlen) 該函數(shù)接受連接請求,為該請求創(chuàng)建一個新套接口,并返回新的套接口描述符,交給子進(jìn)程具體處理,原套接口繼續(xù)用來監(jiān)聽后續(xù)請求,子進(jìn)程用來處理每個具體請求。但是,這些協(xié)議的實現(xiàn)在嵌入式系統(tǒng)中有著特別的要求,如圖形和數(shù)據(jù)的顯示、實時分布式對象計算等。現(xiàn)在國外對此已經(jīng)有很多的相關(guān)研究,如國外的μC/IP項目的研究,它是一個為微控制器和嵌入式系統(tǒng)而設(shè)計的小型TCP/IP協(xié)議棧。嵌入式WEB服務(wù)器技術(shù)的核心是HTTP引擎。一個典型的頁面可能含有許多單獨的HTTP請求,如基本頁面請求、每個HTML框架請求、每個圖形請求等。,這樣就大大提高網(wǎng)絡(luò)和系統(tǒng)的性能。 瀏覽器/服務(wù)器通信的過程瀏覽器根據(jù)用戶顯式提供的URL,或單擊錨點隱式提供的URL,向WEB服務(wù)器提出連接請求。一旦監(jiān)聽到來自80號端口的請求,守候進(jìn)程就要求操作系統(tǒng)創(chuàng)建或從緩沖池中分配一個WEB服務(wù)器進(jìn)程(或線程),并把瀏覽器發(fā)來的連接請求轉(zhuǎn)交給這個進(jìn)程,守候進(jìn)程就結(jié)束了一次它的監(jiān)聽任務(wù),并轉(zhuǎn)入繼續(xù)監(jiān)聽狀態(tài),剩下的任務(wù)就由WEB服務(wù)器進(jìn)程來完成。瀏覽器就向WEB服務(wù)器進(jìn)程發(fā)出傳送某文檔的請求,WEB服務(wù)器進(jìn)程取出所需文檔,向WEB服務(wù)器發(fā)出確認(rèn)信息,WEB服務(wù)器將文檔以HTML的格式發(fā)送給瀏覽器。實現(xiàn)上述傳送過程的協(xié)議稱超文本傳送協(xié)議(Hypertext Transfer Protecol ,HTTP) 瘦WEB服務(wù)器瘦WEB服務(wù)器是隨著WEB應(yīng)用環(huán)境的改變而提出的。它可以包含一個實時操作系統(tǒng)(RTOS)。嵌入式WEB服務(wù)器通過CGI接口或其它方法,可以在HTML文件或表格中插入運行代碼,供RAM讀取/寫入數(shù)據(jù)。可以利用Java、JavaScripts等技術(shù)在客戶端生成應(yīng)用代碼,而在服務(wù)器端只是發(fā)布網(wǎng)頁,以減少在服務(wù)器端的代碼和容量,提高服務(wù)器端的性能。嵌入式WEB服務(wù)器是瘦WEB服務(wù)器一個很好的體現(xiàn)。其具體功用為:從WEB服務(wù)器接受查詢指令和查詢參數(shù),并執(zhí)行對數(shù)據(jù)庫的查詢操作,然后,將查詢結(jié)果生成一新的WEB頁發(fā)送給瀏覽器。根據(jù)查詢參數(shù)執(zhí)行對數(shù)據(jù)庫的查詢。  SQLite數(shù)據(jù)庫對數(shù)據(jù)進(jìn)行安全存儲和快速檢索??蛻舳送ㄟ^IE等瀏覽器在表格中輸入查詢條件或其他要求并提交給WEB服務(wù)器;服務(wù)器將查詢條件等客戶信息置與標(biāo)準(zhǔn)輸入或環(huán)境變量中,并運行相應(yīng)的PHP程序。數(shù)據(jù)庫服務(wù)器返回查詢結(jié)果給WEB服務(wù)器,并通過HTML頁面返回至客戶端瀏覽器。本課題中設(shè)計的嵌入式WEB服務(wù)器采用客戶端/服務(wù)器模式。假如客戶在此前啟動,則connect()將返回出錯代碼,連接不成功。接收到并發(fā)服務(wù)請求,要激活一新進(jìn)程來處理這個客戶請求。服務(wù)完成后,關(guān)閉此新進(jìn)程與客戶的通信鏈路,并終止。返回第二步,等待另一客戶請求。關(guān)閉服務(wù)器在服務(wù)器主機(jī)上,應(yīng)用進(jìn)程執(zhí)行一個被動的打開,即服務(wù)器表明它已準(zhǔn)備好接受連接,但并沒有真正建立連接。等待客戶連接請求,客戶連接后,會話產(chǎn)生;在完成會話后,關(guān)閉連接??蛻舳瞬恍枰付ù蜷_的端口,通常臨時的、動態(tài)的分配一個1024以上的端口。 接口定義了各種操作,包括創(chuàng)建套接字、將套接字連到網(wǎng)上、通過套接字發(fā)送/接收消息,關(guān)閉套接字。網(wǎng)絡(luò)的Socket數(shù)據(jù)傳輸是一種特殊的I/O,Socket也是一種文件描述符。服務(wù)器的實現(xiàn)實際上很簡單。其次,它并不指明I P地址,從而使應(yīng)用程序可以接受來自本地任一I P 地址的連接。 軟件分析服務(wù)器程序部分要完成的功能包括:建立瀏覽器和服務(wù)器之間的連接;獲取瀏覽器的請求;解析請求;發(fā)送請求數(shù)據(jù)給瀏覽器。它的功能是建立環(huán)境設(shè)置,設(shè)置信號處理方式,建立TCP類型。接收到連接請求后,將請求傳遞給連接處理模塊,并繼續(xù)監(jiān)聽。 硬件實現(xiàn)程序編寫完成后即可在UPARM2410S實驗箱驗證所編寫的服務(wù)器程序。進(jìn)行編譯,生成在ARM上可執(zhí)行的二進(jìn)制文件。具體步驟如下:,運行 make 產(chǎn)生可執(zhí)行文件 d[rootlocalhost] cd /arm2410s/exp/basic/09_d/ [rootlocalhost 09_d] make armv4lunknownlinuxgcc DHTTPD_DOCUMENT_ROOT=\/mnt/yaffs\ c o armv4lunknownlinuxgcc DHTTPD_DOCUMENT_ROOT=\/mnt/yaffs\ c o armv4lunknownlinuxgcc o ../bin/d lpthread armv4lunknownlinuxgcc o d lpthread [rootlocalhost 09_d] ls doc d Makefile Google ,啟動mini,進(jìn)入后建立開發(fā)板與宿主機(jī)之間的通信[mnt/yaffs] mount –t nfs –o nolock :/arm2410s /host。此種服務(wù)器功能簡單,體積小,實現(xiàn)容易,證明了嵌入式WEB服務(wù)器是可以實現(xiàn)的。 5 SQLite+Apache+PHP系統(tǒng)設(shè)計從嵌入式WEB服務(wù)器已實現(xiàn)的功能來看,目前大多數(shù)的嵌入式WEB服務(wù)器只是一個實施遠(yuǎn)程監(jiān)控的平臺,實現(xiàn)了由Internet外網(wǎng)協(xié)議向被監(jiān)控對象內(nèi)部通信協(xié)議轉(zhuǎn)換的功能,即只是實現(xiàn)了一個網(wǎng)關(guān)的功能。基于此,本論文提出在基于ARM的嵌入式WEB服務(wù)器中內(nèi)嵌一小型數(shù)據(jù)庫管理系統(tǒng),在服務(wù)器端應(yīng)用程序中調(diào)用數(shù)據(jù)庫提供的API函數(shù)完成服務(wù)器對數(shù)據(jù)庫的訪問與更新,進(jìn)一步擴(kuò)展嵌入式WEB服務(wù)器的功能,以適應(yīng)其在一些高端場合中的應(yīng)用需求。它的基本功能包括:和客戶端建立連接,接收客戶提交的HTTP請求消息,將HTTP響應(yīng)消息返回給客戶,關(guān)閉連接等;PHP引擎解析來自服務(wù)器的腳本,啟動數(shù)據(jù)庫連接并向數(shù)據(jù)庫發(fā)送適當(dāng)查詢,完成腳本運行后將查詢結(jié)果以HTML格式返回給WEB服務(wù)器;SQLite是一個嵌入式數(shù)據(jù)庫管理系統(tǒng),與PHP引擎處于同一個服務(wù)器平臺。下面分三部分介紹該系統(tǒng): Apache服務(wù)器Apache音譯阿帕奇,是世界使用排名第一的WEB服務(wù)器,它可以運行在幾乎所有廣泛使用的計算機(jī)平臺上。Apache取自“a patchy server”的讀音,意思是充滿補(bǔ)丁的服務(wù)器,因為它是自由軟件,所以不斷有人來為它開發(fā)新的功能、新的特性、修改原來的缺陷。Apache服務(wù)器擁有以下特性: 支持最新的HTTP/;擁有簡單而強(qiáng)有力的基于文件的配置過程;支持通用網(wǎng)關(guān)接口;支持基于IP和基于域名的虛擬主機(jī);支持多種方式的HTTP認(rèn)證;集成Perl處理模塊;集成代理服務(wù)器模塊;支持實時監(jiān)視服務(wù)器狀態(tài)和定制服務(wù)器日志;支持服務(wù)器端包含指令(SSI);支持安全Socket層(SSL);提供用戶會話過程的跟蹤;支持FastCGI 通過第三方模塊可以支持Java Servlets。Apache服務(wù)器在安裝時首先需要在PC機(jī)上生成可在ARM上運行的代碼。具體步驟為:在Apache源碼下運行configure命令來得到Makefile文件,然后修改Makefile中的編譯工具,將其改為宿主機(jī)的交叉編譯工具,命令如下: CC=armlinuxgcc ./configure prefix=/home/lxz/apache假設(shè)源代碼放在目錄/home/lxz/,打開/home/lxz/,找到這兩段代碼: gen_uri_delims ./gen_test_char 修改為: gen_uri_delims/home/lxz/: gen_test_char/home/lxz/改動的目的是借用剛才編譯生成的本機(jī)代碼里的工具,然后 ma
點擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1