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

正文內(nèi)容

arm嵌入式web服務(wù)器boa的軟、硬件設(shè)計(jì)畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-07-09 04:32 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 錯(cuò), TCP 將會(huì)要求重發(fā)。因此, TCP/IP 在 Inter 中幾乎可以無(wú)差錯(cuò)地傳送數(shù)據(jù)。 在 TCP/IP 協(xié)議基礎(chǔ)上建立的 HTTP 超文本傳輸協(xié)議、 FTP 文件傳輸協(xié)議、 Tel 遠(yuǎn)程登錄協(xié)議以及 SMTP 郵件協(xié)議等協(xié)議簇構(gòu)成了 Web 技術(shù)的核心。同時(shí), Web 服務(wù)器同 Web瀏覽器之間的通信是通過(guò) HTTP 協(xié)議進(jìn)行的,這一通用的、無(wú)狀態(tài)的、面向 對(duì)象的協(xié)議HTTP 協(xié)議是 Web 瀏覽器和 Web 服務(wù)器之間的應(yīng)用層協(xié)議,也是基于 TCP/IP 協(xié)議的。為了勾勒 TCP/IP 在現(xiàn)實(shí)網(wǎng)絡(luò)世界中所扮演的角色,請(qǐng)考慮當(dāng)使用 HTTP 的 Web 瀏覽器從連接在 Inter 上的 Web 服務(wù)器上獲取一頁(yè) HTML 數(shù)據(jù)時(shí)所發(fā)生的情況。為形成同 Web 服務(wù)器的虛鏈路,瀏覽器使用一種被抽象地稱(chēng)為稱(chēng)為套接口( socket)的高層軟件。為了獲取 Web 頁(yè),它通過(guò)向套接口寫(xiě)入 HTTPGET 命令來(lái)向 Web 服務(wù)器發(fā)出該指令。接下來(lái)套接口軟件使用 TCP 協(xié)議向 Web 服務(wù)器發(fā)出包含 GET 命令的字節(jié)流和位流, TCP 將數(shù)據(jù)分段并將各獨(dú)立段傳到 IP 模塊,該模塊將數(shù)據(jù)段轉(zhuǎn)換成數(shù)據(jù)報(bào)并發(fā)送給 Web 服務(wù)器。 嵌入式系統(tǒng) TCP/IP 協(xié)議選擇時(shí)遵循的原則是:首先,嵌入式系統(tǒng)中實(shí)現(xiàn)的協(xié)議要根據(jù)系統(tǒng)自身的特點(diǎn)以及功能來(lái)設(shè)計(jì)自己的協(xié)議簇,實(shí)現(xiàn)與需要有關(guān)的部分,不使用的協(xié)議一概不考慮;其次,對(duì)于要使用的協(xié)議也根據(jù)實(shí)際應(yīng)用情況做取舍??紤]到嵌入式 Web服務(wù)器的硬件處理速度慢并且存儲(chǔ)容量相對(duì)較小的條件限制,在 TCP/IP 協(xié)議棧中主要能夠?qū)崿F(xiàn) ARP, IP, ICMP, TCP, HTTP 協(xié)議即可 [6]。 嵌入式 Web 服務(wù)器 Boa Boa 概述 目前有很多功能強(qiáng)大的 Web 服務(wù)器,主要包括 Apache, d, td 和 Boa[5] 等幾種。 其中 d最小 ,只需幾千字節(jié)的空間 ,功能簡(jiǎn)單 ,但不支持 CGI; Apache, td和 Boa支持 CGI。其中 Boa是一個(gè)單任務(wù)的小型 HTTP服務(wù)器,源代碼開(kāi)放、性能優(yōu)秀, 運(yùn)行所需空間僅為 140 KB 左右, 特別適合應(yīng)用在嵌入式系統(tǒng)中。雖然本文中所用到的嵌入式 Linux的 Web服務(wù)器也可以通過(guò)自行裁剪 Apache服務(wù)器得到,但是 Apache服務(wù)器是采用傳統(tǒng)的生成子進(jìn)程的方式來(lái)提 供服務(wù)的形式,這種形式比較適合服務(wù)比較復(fù)雜的情況,性能上并沒(méi)有但進(jìn)程的服務(wù)器高,尤其在高負(fù)載的情況下更是如此。 Boa與 Apache等高性能的 Web服務(wù)器主要的區(qū)別在于它們是單進(jìn)程服務(wù)器,只有在完成一個(gè)用戶(hù)請(qǐng)求后才能響應(yīng)另一個(gè)用戶(hù)的請(qǐng)求,而無(wú)法并發(fā)響應(yīng),但這在嵌入式設(shè)備的應(yīng)用場(chǎng)合里已經(jīng)足夠了。而且 從對(duì) CGI支持的性能指標(biāo) [15]可知 ,Boa對(duì) CGI的支持效果最佳。除此之外, Boa與其他 Web服務(wù)器相比主要有以下幾個(gè)優(yōu)點(diǎn): ① 對(duì) CGI程序無(wú)需設(shè)置 REMOTE HOST環(huán)境變量 ,在 REMOTEADDR變量中已經(jīng) 提供了 IP 地址 ,可以直接使用 gethostbyaddr函數(shù)或變量 ,從而使 Boa較其他 Web服務(wù)器更易于使用; ② 在 Boa中對(duì) Server2side模塊可以剪裁 ,以提高系統(tǒng)運(yùn)行速度 ,其內(nèi)部的 ―字節(jié)流執(zhí)行引擎 ‖采用了非完全的圖靈機(jī)方式實(shí)現(xiàn); ③ 不存在訪問(wèn)控制特征 ,采用符號(hào)連接方式進(jìn)行控制 ,可以對(duì)任何可以讀取的文件提供服務(wù) ,因此速度更快 。 所以 ,本課題中選擇 Boa作為嵌入式 Linux系統(tǒng)的 Web服務(wù)器 . 畢業(yè)設(shè)計(jì)論文 11 Boa 的功能實(shí)現(xiàn) 嵌入式 Web服務(wù)器 Boa和普通 Web服務(wù)器一樣 , 能夠完成接收客戶(hù)端請(qǐng)求、分 析請(qǐng)求、響應(yīng)請(qǐng)求、向客端返回請(qǐng)求結(jié)果等任務(wù)。它的工作過(guò)程主要包括 : (a) 完成 Web服務(wù)器的初始化工作 , 如創(chuàng)建環(huán)境變量、創(chuàng)建 TCP套接字、綁定端口、開(kāi)始偵聽(tīng)、進(jìn)入循環(huán)結(jié)構(gòu) ,以及等待接收客戶(hù)瀏覽器的連接請(qǐng)求; (b)當(dāng)有客戶(hù)端連接請(qǐng)求時(shí) ,Web服務(wù)器負(fù)責(zé)接收客戶(hù)端請(qǐng)求 ,并保存相關(guān)請(qǐng)求信息; (c)在接收到客戶(hù)端的連接請(qǐng)求之后 ,分析客戶(hù)端請(qǐng)求 ,解析出請(qǐng)求的方法、 URL目標(biāo)、可選的查詢(xún)信息及表單信息 ,同時(shí)根據(jù)請(qǐng)求做出相應(yīng)的處理; (d)Web服務(wù)器完成相應(yīng)處理后 ,向客戶(hù)端瀏覽器發(fā)送響應(yīng)信息 ,關(guān)閉與客戶(hù)機(jī)的 TCP連接 [5]。 嵌入式 Web服務(wù)器 Boa根據(jù)請(qǐng)求方法的不同 ,做出不同的響應(yīng)。如果請(qǐng)求方法為 HEAD, 則直接向?yàn)g覽器返回響應(yīng)首部 。如果請(qǐng)求方法為 GET,則在返回響應(yīng)首部的同時(shí) , 將客戶(hù)端請(qǐng)求的 URL目標(biāo)文件從服務(wù)器上讀出 ,并且發(fā)送給客戶(hù)端瀏覽器 。如果請(qǐng)求方法為 POST,則將客戶(hù)發(fā)送過(guò)來(lái)的表單信息傳送給相應(yīng)的 CGI程序 ,作為 CGI的參數(shù)來(lái)執(zhí)行 CGI程序 ,并將執(zhí)行結(jié)果發(fā)送給客戶(hù)端瀏覽器。 Boa的功能實(shí)現(xiàn)也是通過(guò)建立連接、綁定端口、進(jìn)行偵聽(tīng)、請(qǐng)求處理等來(lái)實(shí)現(xiàn)的。本課題中 BOA整體工作流程如圖 2所示: 圖 Boa的執(zhí)行流程 N Y Y N 有 Request請(qǐng)求否 接收 Request 請(qǐng)求 根據(jù)執(zhí)行結(jié)果 ,發(fā)送數(shù)據(jù)到 Web 瀏覽器 返回 偵聽(tīng)端口 請(qǐng)求 CGI 否? 創(chuàng)建套接字 設(shè)置 CGI環(huán)境變量 初始化 設(shè)置信號(hào)量 綁定端口 分析 Request 請(qǐng)求 執(zhí)行 CGI 程序 讀取指定數(shù)據(jù)到 Web 瀏覽器 畢業(yè)設(shè)計(jì)論文 12 第四章 CGI 技術(shù) CGI 概述 CGI(通用網(wǎng)關(guān)接口)是用于 Web 服務(wù)器和外部應(yīng)用程序之間信息交互的標(biāo)準(zhǔn)接口。Web 服務(wù)器原本是為靜態(tài) HTML 文檔以及其他相關(guān)靜態(tài)文件而設(shè)計(jì)的。如果一個(gè) Web 服務(wù)器的功能只限于提供靜態(tài)頁(yè)面的花,那么與之通信的 Web 瀏覽器就只能顯示在頁(yè)面請(qǐng)求和顯示過(guò)程之間文檔內(nèi)容不變化的頁(yè)面。 CGI 規(guī)范在 Web 服務(wù)器和瀏覽器(又稱(chēng)客戶(hù)機(jī))之間建立了標(biāo)準(zhǔn)的信息交換方式。使用它使得信息在瀏覽器或服務(wù)器與外部 程序之間流動(dòng),外部程序在處理之后將處理結(jié)果送回用戶(hù)端瀏覽器。外部程序通常稱(chēng)為 CGI 程序、CGI 腳本、 CGI 應(yīng)用程序或簡(jiǎn)稱(chēng)網(wǎng)關(guān),因?yàn)樗\(yùn)用了 CGI 規(guī)范并為實(shí)現(xiàn) Web 平臺(tái)的功能而專(zhuān)門(mén)設(shè)計(jì)。 在 HTML 中,當(dāng)客戶(hù)填寫(xiě)了表單,并按下了發(fā)送( submit)按鈕后,表單的內(nèi)容被發(fā)送到了服務(wù)器端,一般的,這時(shí)就需要有一個(gè)服務(wù)器端腳本來(lái)對(duì)表單的內(nèi)容進(jìn)行一些處理。沒(méi)有了 CGI, Web 的世界就完全失去了它的交互性,所有的信息都變成單向的了,而不能夠有任何的反饋。 CGI 工作原理 系統(tǒng)嵌入式 Web 服務(wù)器通過(guò) CGI 程序來(lái)獲 取用戶(hù)的請(qǐng)求、查詢(xún)條件,使用 HTML 方式描述結(jié)果并直接回送到客戶(hù)端的瀏覽器上,此過(guò)程中 瀏覽器將用戶(hù)輸入的數(shù)據(jù)送到 Web服務(wù)器, Web 服務(wù)器將數(shù)據(jù)使用 STDIN(標(biāo)準(zhǔn)輸入)送到 CGI 程序。在執(zhí)行 CGI 程序后,會(huì)訪問(wèn)數(shù)據(jù)庫(kù)的記錄,最后使用 STDOUT 輸出 HTML 形式的結(jié)果文件,經(jīng) Web 服務(wù)器送回瀏覽器顯示給用戶(hù)。使用 CGI 實(shí)現(xiàn)客戶(hù)與服務(wù)器的交互分以下幾個(gè)標(biāo)準(zhǔn)步驟 : (1) Web客戶(hù) (瀏覽器 )通過(guò) URL與 Web服務(wù)器相連; (2) 服務(wù)發(fā)送 HTML(和別的組成請(qǐng)求頁(yè)面的文件 )給客戶(hù),一旦頁(yè)面內(nèi)容傳完,這個(gè)連接自 動(dòng)斷開(kāi); (3) 在客戶(hù)方, HTML腳本提示用戶(hù)做動(dòng)作或輸入,當(dāng)用戶(hù)響應(yīng)后客戶(hù)請(qǐng)求 Web服務(wù)器建立一個(gè)新的連接; (4) 一旦連接建立,客戶(hù)把用戶(hù)輸入的數(shù)據(jù)傳給 Web服務(wù)器; (5) Web服務(wù)器把這些信息和別的進(jìn)程變量傳給由 HTML以 URL形式提交的 CGI程序; (6)CGI程序根據(jù)輸入作出相應(yīng)的操作,產(chǎn)生對(duì)客戶(hù)的響應(yīng) (一般以一個(gè) HTML文檔的形式 ),并將其傳給 Web服務(wù)器; (7) Web服務(wù)器把應(yīng)答數(shù)據(jù)傳給客戶(hù),并關(guān)閉連接; 在客戶(hù)方,用 HTML標(biāo)記的方式來(lái)觸發(fā)處理過(guò)程,該標(biāo)記和其它標(biāo)記的解釋方式一樣 。在服務(wù)器下, Linux環(huán)境變量、命令執(zhí)行參數(shù)和標(biāo)準(zhǔn)輸入輸出文件都可用于 Web服務(wù)器與CGI程序之間的通訊。 畢業(yè)設(shè)計(jì)論文 13 CGI 工作過(guò)程圖 3 所示: 圖 3. CGI 工作原理 其中 CGI與表單之間的信息交互方法有兩種模式 :―GET‖和 ―POST‖。選擇哪一種模式取決于表單 ( FORM)的 ―METHOD‖字段的設(shè)置 ,如果 METHOD設(shè)定為 GET, CGI程序從環(huán)境變量 QUER_STRING中獲取數(shù)據(jù) .為了解釋數(shù)據(jù)和執(zhí)行需要的動(dòng)作, CGI程序必須要分析(處理)此字符串;如 果 METHOD設(shè)定為 POST,數(shù)據(jù)會(huì)以 STDIN方式送入 CGI接口。服務(wù)器在數(shù)據(jù)的最后沒(méi)有使用 EOF字符標(biāo)記,因此程序?yàn)榱苏_地讀取 STDIN,必須使用 CONTENT_LENGTH值。在本課題中 CGI程序采用的是 POST方法。如果想從服務(wù)器獲得數(shù)據(jù)并且不改變服務(wù)器上的數(shù)據(jù)時(shí),應(yīng)該選用 GET方法;也有例外,當(dāng)傳輸?shù)臄?shù)據(jù)很長(zhǎng)時(shí),選用 POST方法較好;使用 GET方式編寫(xiě) CGI程序會(huì)更加簡(jiǎn)單,但是 POST方式則更先進(jìn);當(dāng)發(fā)送的數(shù)據(jù)將改變 Web服務(wù)器端的數(shù)據(jù)時(shí),或者想給 CGI程序傳輸大量數(shù)據(jù)(一般地,超過(guò) 1024字節(jié),這是 URL的極限長(zhǎng)度)時(shí),應(yīng)該選用 POST方法 [14]。 運(yùn)行結(jié)果 POST 用 STDIN 輸入數(shù)據(jù) GET 用 QUERYSTRING 輸入數(shù)據(jù) 用 STDOUT 輸出數(shù)據(jù) Web 瀏覽器 Web 服務(wù)器 CGI 腳本 啟動(dòng) CGI 畢業(yè)設(shè)計(jì)論文 14 第五章 建立嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境 本章詳細(xì)介紹了嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境的建立, Linux 的安裝配置,目標(biāo)板中 Uboot 的燒寫(xiě)等。 在 Vmware 下安裝 Redhat 1) 安裝 Vmware,版本為 。 2) 在 Vmware下 創(chuàng)建虛擬主機(jī)。 a) 運(yùn)行 Vmware,點(diǎn)擊 ―新建虛擬機(jī) ‖,進(jìn)入新建虛擬機(jī)的向?qū)?,如圖 4所示 。 圖 b) 選擇 ―自定義 ‖,點(diǎn) 擊 下一步。 c) 操作系統(tǒng)類(lèi)型 。 選擇 ―Linux‖,版本選擇 ―Red Hat Linux‖, 如圖 5所示, 點(diǎn) 擊 下一步。 d) 虛擬機(jī)命名 。虛擬機(jī)名字下面是存放虛擬機(jī)配置文件的位置信息, 選擇 程序默認(rèn)的即可 ,點(diǎn) 擊 下一步。 畢業(yè)設(shè)計(jì)論文 15 圖 e) 選擇虛擬機(jī)所用的硬盤(pán) 。 選擇 ―使用物理硬盤(pán) ‖。 點(diǎn)擊下一步繼續(xù) 時(shí) 程序會(huì)給出了一個(gè)警告,表示使用物理硬盤(pán)創(chuàng)建虛擬機(jī)會(huì)有風(fēng)險(xiǎn), 如圖 6, 點(diǎn)下 OK繼續(xù)。 圖 f) 選擇硬盤(pán)。選 擇一個(gè)并點(diǎn)擊 使用整個(gè)硬盤(pán) (entire disk),點(diǎn) 擊 下一步。 g) 指定存儲(chǔ)虛擬機(jī)配置信息的文件名, 選擇 默認(rèn) 。點(diǎn)擊 ―完成 ‖, 界面如圖 7。 畢業(yè)設(shè)計(jì)論文 16 圖 3) 修改虛擬機(jī)的設(shè)置。 。 在虛擬主機(jī)管理界面上雙擊 CD- ROM,在 CD- ROM配置窗口上修改,使用 ISO鏡像文件 (Use ISO image)作為 CD- ROM, 如圖 8所示 。 圖 CDROM界面 4) 啟動(dòng)虛擬機(jī)安裝 Linux。點(diǎn)擊窗口中的綠色箭頭 ―啟動(dòng)該虛擬機(jī) ‖。 在虛擬機(jī)啟動(dòng)的時(shí)候,根據(jù)提示,按 下 F2 鍵進(jìn)入 setup,再 BOOT里修改啟動(dòng)順序,將 CDROM(光盤(pán) )的位置放到第一個(gè),保存退出 。 Vmware自動(dòng)重新啟動(dòng)虛擬機(jī),這時(shí)就會(huì)從虛擬機(jī)的光盤(pán)引導(dǎo)了,即 從 Linux 操作系統(tǒng)的 ISO安裝文件引導(dǎo)。 此時(shí)可以 看到相應(yīng) Linux操作系統(tǒng)安裝的啟動(dòng)畫(huà)面。 5) 安裝 Linux。如果要以文本界面方式安裝,在 boot:后輸入 linuxtext,再 鍵入 回車(chē)。在選擇語(yǔ)言鼠標(biāo)等后,安裝程序 詢(xún) 問(wèn)是否要自動(dòng)分區(qū)( Aotumatic Partitioning),直接點(diǎn)擊畢業(yè)設(shè)計(jì)論文 17 Next。下一個(gè)界面中有關(guān)于 Aotumatic Partitioning的 3種選擇, 本課題中選擇的是 第 3個(gè) “ 保持所有分區(qū)并使用已有的未使用空間 ” ( keep all partitions and use existing free space)。 在 安裝過(guò)程中將顯示安裝進(jìn)度界面。安裝過(guò)程中,不再需要人工干預(yù)。當(dāng)安裝完成后,將出現(xiàn)提示界面。安裝完成會(huì)設(shè)定顯示卡之類(lèi),最后 Vmware內(nèi)系統(tǒng)重新啟動(dòng)。重啟后,系統(tǒng)提示你可以 設(shè)定 一個(gè)個(gè)人帳號(hào)( personal account)和密碼。注意,雖然這里不開(kāi)帳號(hào)也能通過(guò),但實(shí)際上是不行的,必須在這里設(shè)定一個(gè)用戶(hù)名和密碼 。 因?yàn)樵賳?dòng)時(shí)必須提供 用戶(hù)名 和密碼,否則開(kāi)機(jī)失敗。啟動(dòng)后,系統(tǒng) 詢(xún) 問(wèn)用戶(hù)名和密碼 , 輸入用戶(hù)名和密碼即可。 最后 出現(xiàn) Redhat9的界面 ,如圖 9所示。 圖 6) 安裝 Vmware Tools。 a) Vmware Tools可以使得主機(jī)與虛擬機(jī)通信,并且能自動(dòng)識(shí)別鼠標(biāo)光標(biāo)的位置,不用再使用 CTRL+ALT切換鼠標(biāo)。點(diǎn)擊 ―設(shè)置 ‖—―安裝 Vmware工具 ‖,
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1