新聞中心

EEPW首頁 > 消費(fèi)電子 > 設(shè)計應(yīng)用 > Web服務(wù)在TM1300上的實(shí)現(xiàn)

Web服務(wù)在TM1300上的實(shí)現(xiàn)

作者:蘇玉潔 李學(xué)明 時間:2008-08-04 來源:電子技術(shù)應(yīng)用 收藏
  接下來需要從HTTP頭信息[2]中,找到Content-Length這一行。如果Content-Length=0,則表明后面沒有參數(shù),否則在這個HTTP數(shù)據(jù)包中包含用戶提交的信息,并且信息的長度值就是Content-Length的值。

  假定用戶在HTTP消息中帶有消息體,那么首先要找到一個空白行(即:Cache-Control:no-cache后面一行),因?yàn)樗窍Ⅲw和HTTP頭信息的分界線。接下來需要分析消息主體的內(nèi)容。這方面的工作非常簡單,就是根據(jù)字符‘&’將文本串分為三部分,即:xsize=352,ysize=288,submit=%CC%E1%BD%BB。然后根據(jù)字符‘=’進(jìn)一步區(qū)分參數(shù)的名稱和對應(yīng)的值。通過分析知道參數(shù)xsize的值為352,ysize的值為288。

  通過對HTTP消息的解析,可以確定用戶需要完成的操作及操作所需要的參數(shù),進(jìn)而可以對底層的硬件或軟件進(jìn)行控制,以完成用戶的請求。

  由此可以看出,服務(wù)器程序的核心工作就是對HTTP數(shù)據(jù)包解析,決定下一步的處理。針對上面的例子,服務(wù)程序首先要對視頻輸入輸出接口進(jìn)行控制,改變輸入輸出圖像的尺寸;接下來還要輸出HTTP數(shù)據(jù)包送給IE瀏覽器,圖3給出了服務(wù)程序產(chǎn)生的HTTP數(shù)據(jù)包及用戶看到的界面。

本文引用地址:http://butianyuan.cn/article/86570.htm

  圖3(a)是服務(wù)器回送給IE瀏覽器的HTTP消息。第一行HTTP/1.1200OK通知IE瀏覽器,剛才的請求已經(jīng)被服務(wù)器處理。下面一行是服務(wù)器的處理時間。Content-type:text/html這一行通知IE瀏覽器HTTP消息主體部分傳送的內(nèi)容是純文本格式的HTML網(wǎng)頁。后面的空行是HTTP頭信息與HTTP消息主體的分界線。當(dāng)IE瀏覽器獲取HTTP頭信息后,就可以根據(jù)消息主體的格式調(diào)用對應(yīng)的HTML解析器對內(nèi)容進(jìn)行解析,并將解析的結(jié)果顯示在瀏覽器的窗口中。

  3服務(wù)進(jìn)程與其他進(jìn)程間的通信

  由于處理平臺需要同時進(jìn)行音頻、視頻處理及網(wǎng)絡(luò)通信,即在同一個時刻需要有多個任務(wù)同時運(yùn)行,并且這些任務(wù)之間需要進(jìn)行通信,例如:當(dāng)用戶改變了系統(tǒng)編碼參數(shù)后,Web服務(wù)器需要通知視頻編碼進(jìn)程,讓它們在后續(xù)的編碼過程中采用新的參數(shù)。由于運(yùn)行pSOS系統(tǒng),而pSOS只有進(jìn)程,沒有線程,因此Web服務(wù)程序作為一個單獨(dú)的進(jìn)程來運(yùn)行。當(dāng)需要與其他任務(wù)通信時,采用了信號量方法。圖4以Web服務(wù)進(jìn)程和視頻編碼進(jìn)程之間的通信為例,給出了系統(tǒng)實(shí)現(xiàn)進(jìn)程間通信的過程。

  首先在Flash中開辟一塊區(qū)域,專門用來存儲所需修改的參數(shù)。當(dāng)Web服務(wù)器接收到客戶端提交的修改參數(shù)的請求時,采用以下步驟進(jìn)行處理:(1)Web服務(wù)進(jìn)程將信號量鎖定;(2)Web服務(wù)進(jìn)程將用戶提交的參數(shù)寫入到參數(shù)區(qū);(3)Web服務(wù)器進(jìn)程釋放信號量;(4)Web服務(wù)進(jìn)程向視頻處理進(jìn)程發(fā)送信號[3],通知視頻編碼進(jìn)程讀取參數(shù);(5)視頻處理進(jìn)程將信號量鎖定;(6)視頻處理進(jìn)程讀取參數(shù);(7)視頻處理信號釋放信號量。經(jīng)過一系列操作后,Web服務(wù)器進(jìn)程和視頻編碼進(jìn)程間的通信結(jié)束,完成了一次參數(shù)的修改。Web服務(wù)進(jìn)程與音頻編碼進(jìn)程間的通信與上述過程類似。

  本文重點(diǎn)探討了在上實(shí)現(xiàn)嵌入式Web服務(wù)器的方法與具體實(shí)現(xiàn)中的一些關(guān)鍵問題。通過在現(xiàn)有的處理平臺中增加Web服務(wù),用戶可以采用Web頁面的方式來監(jiān)控硬件的運(yùn)行狀態(tài),并能對系統(tǒng)運(yùn)行參數(shù)進(jìn)行在線修改,降低了系統(tǒng)的使用難度,提高了交互的友好性,進(jìn)而增強(qiáng)了系統(tǒng)的功能和可用性。目前,筆者開發(fā)的Web服務(wù)已經(jīng)在上穩(wěn)定運(yùn)行,下一步工作主要是擴(kuò)充其功能,并提供網(wǎng)管功能。

  參考文獻(xiàn)

  1RFC822.StandardforARPAInternetTextMessages[s].1982
  2RFC2616.HypertextTransferProtocol----HTTP/1.1[s].1999
  3W.RichardStevens著,尤晉元譯.UNIX環(huán)境高級編程.北京:機(jī)械工業(yè)出版社,2000


上一頁 1 2 下一頁

關(guān)鍵詞: 多媒體 處理器 TM1300 Web

評論


相關(guān)推薦

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

關(guān)閉