新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于SX52的嵌入式Web服務器的快速實現(xiàn)

基于SX52的嵌入式Web服務器的快速實現(xiàn)

作者: 時間:2012-04-19 來源:網絡 收藏

除了用JavaApplet動態(tài)網頁外,利用post方法也可與交互。例如通過IE瀏覽器用復選框按鈕控制并顯示一組燈的開與關的基本控制,其HTML網頁的提交表單FORM內應該包含有的類似語句,其中0~n為欲控制燈的編號,name的取值為一位數(shù)字或字符,有利于節(jié)省的查詢匹配程序空間,E2File程序將網頁中如下顯示燈的狀態(tài)的HTML超鏈接語句中的?編號為非ASCII字符#$f0~#$fn等下載存儲到的EEPROM中。當n用POST方法發(fā)送數(shù)據給時,服務器計算兩個空格間的abs_path形式的URI的ASCII字符之和后到相應EEPROM中,用上述下載網頁的計算方法找到該網頁的地址后,跳過HTTP的請求頭匹配l=0…l=n表示復選框被選中的數(shù)據并對相應編號的燈開關后,返回該網頁給IE時會根據實際燈的狀態(tài)將EEPROM中存儲網頁的非ASCII字符#$f0~#$fn退換為ASCII字符n或f。這樣IE就能正確地通過超鏈接再次與服務器交互(GET方法),下載顯示ledon.gif或ledof.gif顯示實際燈的狀態(tài)了。而要在IE上正確顯示現(xiàn)場某個控制變量的值時,同樣可以將n位顯示數(shù)值編號為非ASCII字符#$f0#$fl…#$fn的形式存儲到服務器中,服務器端先將實際的數(shù)值轉換為BCD碼后再用對應的ASCII字符將#Sf0#$f1…#$fn替換返回,從而能在瀏覽器端顯示服務器端控制變量的變化。國內用戶使用的北京革新提供的開發(fā)演示板程序較充分地提供了常用的Intemet網絡協(xié)議軟件虛擬模塊,也提供了一個基本可實際應用的演示控制,只要做較少改動就可以用于實際控制中。不過它只能一次控制一個燈的開關,且任何人都可以輕易地更改?,F(xiàn)要求一次能控制所有的燈,但需要在IE瀏覽器上輸入密碼123abc方可生效。程序修改如下:

(5)在模塊TcpAppRxData的分支:lookforl的開頭增加以下語句:

當然以上密碼通過IE仍以明文傳送,不安全,但是它可以通過常用的IE瀏覽器操作,不需要專用的客戶端軟件。這適用于大企業(yè),它們有局域網,電腦上只能用固定的幾種軟件。當然編寫客戶端軟件加入加密解密算法來適應各種應用環(huán)境也是容易的。用SX52構建各種小型的現(xiàn)場控制服務器只要合理利用相應的網絡協(xié)議軟件虛擬模塊,參照演示板的做法在應用子模塊TcpAppTxBytes、TcpAppRxData中對發(fā)送及接收數(shù)據按照自己特定的要求做處理即可。它還可以通過UDP的方式同時與客戶端軟件傳送語音或視頻數(shù)據流,只要增加很少的外圍接口電路并改動相應的UDP處理模塊UDPProcPktIn即可。而如果未來協(xié)議的更新也只要下載最新的程序替換即可,開發(fā)人員單獨修改特定協(xié)議模塊的一些方式如增加滑動窗口的TCP/IP等也比重新編寫一個完整的協(xié)議族遠為輕松。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉