<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種實(shí)用的嵌入式Web服務(wù)器設(shè)計(jì)

          一種實(shí)用的嵌入式Web服務(wù)器設(shè)計(jì)

          作者: 時(shí)間:2012-05-08 來源:網(wǎng)絡(luò) 收藏

          d.jpg


          通過以上過程的處理,即可實(shí)現(xiàn)對訪問權(quán)限的控制與管理。
          2.3 頁面文檔管理及生成的功能實(shí)現(xiàn)
          由于配置環(huán)境的需要,頁面較多,如果將所有頁面均存儲在Flash上,文件讀寫的問題將更為突出。為此,本文了一個如圖5所示的網(wǎng)頁頁面文件管理結(jié)構(gòu)來對頁面文件進(jìn)行管理。

          e.jpg


          下面介紹具體處理過程。
          首先,對所有頁面無論是靜態(tài)還是動態(tài)頁面,均建立一個對應(yīng)的模板文件,并將該模板文件的內(nèi)容以全局靜態(tài)字符串的形式直接寫在程序中。在系統(tǒng)初始化時(shí)對各模板內(nèi)容的大小進(jìn)行統(tǒng)計(jì),并按下式對各文件的最大容量進(jìn)行粗略的估算:
          mS=sizeof(pT)×1.2
          其中:mS為估算的頁面內(nèi)容最大尺寸,sizeof(pT)則為該頁面對應(yīng)模板的實(shí)際大小(以上兩者均以字節(jié)為單位)。
          按上式估算出頁面的最大尺寸后,為保證對頁面分配內(nèi)存時(shí)空間的連續(xù)性,根據(jù)所有頁面的最大尺寸和,一次性分配一個較大的內(nèi)存空間,并將該空間按各個頁面所對應(yīng)的最大尺寸依次與該頁面對應(yīng)的管理結(jié)構(gòu)內(nèi)的文件內(nèi)容指針相關(guān)聯(lián)。這樣,每次因配置的修改導(dǎo)致頁面內(nèi)容發(fā)生變化時(shí),僅需對該指針?biāo)赶虻目臻g內(nèi)容進(jìn)行修改即可,而僅在保存配置數(shù)據(jù)時(shí),通過配置文件更新函數(shù)將其存儲在Flash中。這樣既避免了為修改頁面文件內(nèi)容而申請內(nèi)存的操作,又避免了為存儲頁面內(nèi)容而頻繁進(jìn)行的Flash讀寫操作,從而提高了該EWS的效率。

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


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();