基于PXA270嵌入式Web服務器的設計與實現(xiàn)
隨著嵌入式系統(tǒng)的發(fā)展和Internet的普及,嵌入式系統(tǒng)接入網絡已經成為嵌入式系統(tǒng)應用的一個重要方向和必然結果,嵌入式Web服務器是嵌入式系統(tǒng)網絡化應用的重要方面。傳統(tǒng)的8位單片機由于其運行速度、驅動能力、功耗等問題已經越來越不能滿足用戶的需求。ARM處理器以其高性能、低功耗、豐富驅動等功能成為新的嵌入式電子產品開發(fā)的理想選擇。同時為了實現(xiàn)對系統(tǒng)資源的更好分配、復雜任務的更好調度,引入嵌入式操作系統(tǒng)。ARM-Linux具有很好的移植性、穩(wěn)定性、強大的協(xié)議支持功能和豐富的設備支持功能,現(xiàn)在被廣泛應用于嵌入式操作系統(tǒng)。本系統(tǒng)采用基于INTEL Xscale架構的嵌入式處理器PXA270與ARM-Linux相結合構建一個嵌入式Web服務器。
本文引用地址:http://www.ex-cimer.com/article/152434.htm1.1 嵌入式Web服務器體系結構
嵌入式Web服務器的體系結構如圖1所示。其中,客戶端和Web服務器之間的通信協(xié)議采用HTTP 1.1;嵌人式實時多任務操作系統(tǒng)提供TCP/IP協(xié)議支持;Web服務器與數(shù)據(jù)庫服務器間的交互接口為CGI(Common Gateway Interface)。
1.2 嵌入式Web服務器工作流程
客戶端使用Web瀏覽器與Web服務器進行通信。Web服務器中使用HTTP協(xié)議,HTTP(超文本傳輸協(xié)議)為標準WWW傳輸協(xié)議,使用可靠的TCP連接,通常采用端口80。HTTP是一個簡單的協(xié)議,每次連接只完成一個請求??蛻舳伺cWeb服務器交換數(shù)據(jù)之前,首先用TCP/IP建立連接,服務器端程序建立TCP類型SOCKET并在80端口進行監(jiān)聽,服務器在接收到用戶端的請求后,解析客戶請求的HTTP協(xié)議頭、分析客戶的請求,根據(jù)客戶的請求返回相應的數(shù)據(jù)。這些數(shù)據(jù)可來自靜態(tài)主頁和文件,也可以根據(jù)請求動態(tài)產生。由此可見,接收客戶端請求、解析客戶端請求、響應客戶端請求、向客戶端回送請求的結果是Web服務器所完成的主要任務。
2 模塊功能分析
系統(tǒng)分為客戶連接處理模塊、客戶請求處理模塊、協(xié)議處理模塊3個模塊。
2.1 客戶連接處理模塊功能
連接處理模塊如圖2所示。此模塊完成第一步客戶連接請求的處理,并將請求信息傳遞給客戶請求解析處理模塊去處理。
模塊工作流程如下:
(1)打開文件描述字,建立文件描述符;
(2)讀取連接信息、獲取客戶信息;
(3)調用客戶請求解析模塊,關閉文件流。
2.2 客戶請求解析處理模塊功能
此模塊在連接模塊完成對客戶請求信息進行解析、處理。模塊工作流程如下:
(1)對用戶信息進行解密;
(2)查找用戶請求資源是否存在;
(3)判斷用戶請求類型,選取不同的協(xié)議進行數(shù)據(jù)回傳。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論