基于SX單片機(jī)實(shí)現(xiàn)WebServer和網(wǎng)絡(luò)協(xié)議棧
(1)SX協(xié)議棧對(duì)HTTP層的實(shí)現(xiàn)
因?yàn)镠TTP層的下面是TCP層,也就是說(shuō)HTTP把TCP作為它的傳輸協(xié)議,所以那兩個(gè)TCP連接也為WebServer所用。理所當(dāng)然,TCP API的發(fā)送和接收函數(shù)也用來(lái)實(shí)行WebServer的請(qǐng)求和相應(yīng)命令。
所有的服務(wù)器資源都存放在外部的E2PROM中,HTTP使用統(tǒng)一資源定位器來(lái)指定返回給客戶端的網(wǎng)絡(luò)資源。統(tǒng)一資源定位器就像一個(gè)帶有目錄的文件路徑一樣,指定資源的路徑和擴(kuò)展名。SX協(xié)議棧并沒(méi)有像普通的解決方案那樣使用一般的文件系統(tǒng)來(lái)管理外部存儲(chǔ)器中的資源,而是采用了一種稱之為智能信息表來(lái)解決這個(gè)問(wèn)題。當(dāng)一個(gè)請(qǐng)求到來(lái)時(shí),一個(gè)8位的無(wú)用信息對(duì)統(tǒng)一資源定位器進(jìn)行運(yùn)算(8位字符加運(yùn)算),再將得到的數(shù)據(jù)乘以2,并把這個(gè)結(jié)果作為一個(gè)索引區(qū)中的一個(gè)值。如果在E2PROM中已經(jīng)建立了查找表,憑著這個(gè)值在E2PROM中去查表,找到相應(yīng)的資源并返回。用這種方法的好處是可以避免繁瑣的字符串的比較和將統(tǒng)一資源定位器直接存放在服務(wù)器中。這種文件系統(tǒng)的結(jié)構(gòu)如圖6所示。
(2)E2PROM的編程
在WebServer啟動(dòng)以前,要先把資源文件下載到E2PROM中。在這個(gè)方案中采用RS232端口從電腦上傳輸資源文件。下載程序自動(dòng)從電腦中載入磁盤的目錄結(jié)構(gòu)并在E2PROM中創(chuàng)建E2PROM文件系統(tǒng)。
參考文獻(xiàn)
1 SX52BD100 Data Sheet. UBICOM Corporation,2000
2 SX52BD100 User Manual. UBICOM Corporation,2000
3 Ethernet SX-Stack Internet Connectivity. UBICOM Corporation,2000
4 Web Server Send Email Client Implementation with Ethernet as the Physical Layer. UBICOM Corporation,2000
評(píng)論