a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于uIP與AJAX的動態Web服務器設計

基于uIP與AJAX的動態Web服務器設計

作者: 時間:2012-11-07 來源:網絡 收藏

而uIP為底層系統提供了4個接口函數:uip_init()完成協議棧的初始化;uip_input()用于處理從以太網接收到的IP數據包;uip_perio dic()用于協議內核周期性地對各TCP連接的輪詢;uip_udp_periodic()則用于UDP服務下對各UDP連接的輪詢。其中,uip_input()和uip_per iodic()在協議的內部采用同一個函數void uip_process(u8_t flag)實現,區別在于調用的參數不同。uIP主程序清晰地展示了各接口函數的調用方法,其主程序流程圖如圖2所示。

本文引用地址:http://www.j9360.com/article/148264.htm

d.JPG


uIP的各處理程序會調用UIP_APPCALL()進行應用程序處理,用戶需要將UIP_APPCALL宏定義為實際的應用函數名,應用程序就可以掛接到uIP中,而uip_flags是協議棧提供給應用層查詢的狀態變量。

2 動態Web服務器的實現
在uIP中已經提供了webserver的應用實例,用戶可以參考它并根據自己的需求進行設計。為了實現瀏覽器與服務器之間的交互性,本文采用了CGI動態Web技術。CGI(Common Gateway Interface)是Web服務器與外部擴展應用程序交互的一種標準接口。目前,服務器端的動態Web技術除CGI外,還有ASP、PHP、JSP等解決方案,但它們或者是針對某種語言的,或者是依賴于特定的操作系統或商業軟件,只有CGI技術適用于資源有限、編程語言受限的。設計的Web服務器的結構如圖3所示。

f.JPG


在系統初始化后Web服務器開始監聽80端口,一旦有客戶端請求連接,uIP就為其分配一個連接項。服務器在收到HTTP請求后,首先依據請求文件的類型來判斷該請求是動態請求還是靜態請求,如果請求的是HTML類型的文件則為靜態請求;如果請求的是shtml類型的則為動態請求。
對于靜態請求,服務器會直接查詢其文件系統是否存在該網頁,如果存在就響應客戶端的請求;如果不存在就響應404請求錯誤網頁。為了減少存儲資源的使用,uIP沒有一般的文件系統,而是將所有靜態網頁存儲為常量數組,并將這些數組串聯成一個文件鏈表,采用輪詢的方式按照網頁名稱進行查詢。

c語言相關文章:c語言教程




評論


相關推薦

技術專區

關閉