嵌入式Linux WEB伺服器整體設計

2021-06-20 15:34:42 字數 2129 閱讀 4970

《arm linux開發

-warewin 2g/3g無線傳輸

(dtu)

和路由器—筆記》

最主要的目的是顯示裝置的狀態,顯示裝置的引數,修改裝置的引數。

web伺服器支援

get  post方法

支援包含文字的靜態網頁

用基本的web認證

支援標記替換的動態網頁

網頁form

提交的請求設定引數儲存引數

乙個程序

**量少,編譯占用空間小

簡單的加密

通用,使用靈活方便

增加頁面和引數很簡單

不同於cgi

網頁設計和**程式設計分開,可讓不懂程式設計的人設計美觀的頁面,同時還能把動態的內容展示出來。

目前,web

瀏覽器使用普及。可以訪問

internet

**的網頁,同時很多嵌入式裝置也內建

web伺服器,也可用瀏覽器來訪問。嵌入式系統提供

web服務的主要目的是檢視設定引數,顯示裝置的狀態。有

web服務後,設定觀察嵌入式裝置不需要專門的電腦軟體,用瀏覽器就直接可以訪問。

下圖web

頁面顯示引數和狀態

web伺服器是個單程序服務。

大概的流程是:tcp socket服務端一直監聽,當有客戶端瀏覽器連線請求時,建立連線

,處理該連線的請求,返回處理結果到瀏覽器,關閉該連線再等新連線。

tcp連線的特點是短連線

,處理完乙個請求

,返回結果馬上關閉該連線。這個

web伺服器能同時支援多個瀏覽器開啟,但是要排隊處理。這對於嵌入式系統來說已經夠了。

對所有的網頁都包含認證處理,如果認證沒通過就拒絕訪問。如果瀏覽器一次通過認證,接下來的操作就不需要再次輸入認證資訊。採用的是瀏覽器的基本認證方法。

輸入處理主要是對瀏覽器的請求表單進行分析。

輸出處理是根據分析情況生成頁面返回給瀏覽器。

對瀏覽器的請求進行分類:

獲取狀態或引數,瀏覽器一般請求乙個web

頁面。web伺服器生成網頁返回結果。輸入處理沒有,輸出處理主要是生成頁面。

設定引數或對裝置進行複雜操作的,瀏覽器提交表單,web

伺服器分析表單,做相應處理返回結果。輸入處理要分析表單。輸出處理要產生報告執行結果的頁面。

獲取狀態或引數:

asp動態頁面請求,輸出處理開啟檔案輸出檔案內容到瀏覽器,檔碰到標記的時候,做動態內容替換。

設定引數或對裝置進行複雜操作

儲存引數表單請求,輸入處理根據提交的表單生成元素關鍵字和值對錶。輸出處理是把表中的每個關鍵字查對應引數並驗證表單提交的值在取值範圍,並設定為表單提交的值,如果成功返回成功提示。如果失敗返回失敗提示。

上傳表單請求

網頁程式開發模式一般是

用html

工具設計靜態的頁面。

在html

上把想要輸出動態內容的位置替換為標記。

如果html

頁面有表單, 可以提交處理。

如果html

頁面動態顯示,副檔名稱為

asp。

動態替換不是變數,也不是語句,而是類似函式格式。

最為重要的是引數顯示和設定

一般用asp

來顯示引數。

asp上面的表單可以提交設定引數。

asp頁面上的輸入框可以顯示引數也可提交引數

引數顯示用動態替換,用讀取函式的引數。

引數的提交設定需要驗證引數取值是否正確,引數驗證比較複雜。

引數的型別多種,如字串,ip

位址,數值,邏輯型等。取值範圍有限制,如數值大於0小於

24 等。 為此建立引數驗證表,表中的每一項為引數名,引數提示,對應的驗證函式,取值範圍等。新增引數的時候就在表中增加一項。

不足之處:

對於動態資料只能用類似cgi

方式處理,即在**中列印

html

語句。

網頁跳轉機制簡單

表單提交結果顯示頁面是cgi

方式,能設計為

asp較好。

中英文切換需要考慮程式中的html

語句的輸出。

乙個頁面包含另外乙個頁面,目前被包含的頁面實現為cgi

方式。要是被包含的頁面是乙個靜態的頁面

asp就更好了。

mysql 嵌入式c 嵌入式MYSQL伺服器實現

嵌入式mysql伺服器實現 embeddedmysql.h inte ce for the cembeddedmysql class.if defined afx embeddedmysql h 516724e2 889c 4899 9dae 330cd4c5954f included defi 嵌...

嵌入式Web伺服器移植

或者 最新發行版本 0.94.13 解壓 tar xzf boa 0.94.13.tar.gz 直接執行src configure檔案 a 修改 cc gcc 為 cc usr local arm 2.95.3 bin arm linux gcc b 修改 cpp gcc e 為 cpp usr l...

嵌入式 串列埠伺服器

電源 12 36v dc輸入 處理器 cpu at91sam9260,arm926架構,主頻200mhz,記憶體64mb sdram,128mb nand flash 作業系統 內嵌linux 2.6.30,使用者可自行開發應用程式 網路介面 網路介面引數 8針rj45接頭,10m 100m自適應乙...