微波設備網(wǎng)管系統中Web設計與實(shí)現
3.2 嵌入式Web的Socket通信
基于B/S模式的遠程監控系統中,用戶(hù)需要通過(guò)瀏覽器管理遠程設備。對于微波設備遠程監控中的Socket通信有2種信息:一種是查看微波設備的實(shí)時(shí)運行 狀態(tài)信息,要求快速和高效,因此采用無(wú)連接的UDP Socket通信;另一種是微波設備參數信息,要求高可靠性和安全性,因此采用面向連接的TCP Socket通信??蛻?hù)端可根據微波設備的IP地址建立TCP連接,由控制設備監聽(tīng)這個(gè)連接請求,若連接成功,則接收客戶(hù)端發(fā)送的設備參數設定值。編寫(xiě) TCP通信任務(wù)時(shí)分為服務(wù)器和客戶(hù)機2種方式。前者需要監聽(tīng)連接,只有在與客戶(hù)機建立連接后才能進(jìn)行數據處理。后者是主動(dòng)連接服務(wù)器,也是在連接成功后才 能進(jìn)行數據處理。圖3為T(mén)CP通信時(shí)服務(wù)器端和客戶(hù)機端通信的函數應用過(guò)程。本文引用地址:http://dyxdggzs.com/article/202497.htm
服務(wù)器端主函數的工作過(guò)程:初始化μC/OS-Ⅱ,創(chuàng )建TCP/IP初始化任務(wù),硬件資源的初始化(設置網(wǎng)絡(luò )端口號,RTL8019AS網(wǎng)絡(luò )芯片的初始化,初始化ARP、TCP、UDP),啟動(dòng)μC/OS-Ⅱ系統,創(chuàng )建服務(wù)器任務(wù),進(jìn)入服務(wù)器。
3.3 處理HTTP協(xié)議頭
HTTP協(xié)議頭包括一個(gè)起始行、零個(gè)或多個(gè)消息頭域、一個(gè)標示頭域結束的實(shí)體行和一個(gè)可能存在的消息體。本程序主要解析協(xié)議頭的起始行,這種處理思路也符 合嵌入式系統硬件對軟件實(shí)現的復雜度要求。請求方式?jīng)Q定了對請求URL所指定的資源進(jìn)行操作的方式,GET方法讀取URL指定的資源,一般用來(lái)向服務(wù)器傳 輸少量且透明的數據,數據總量被限制在255個(gè)字符以?xún)?,而POST方法可傳輸大量數據,與HTML的表單特性相配合以實(shí)現遠程動(dòng)態(tài)交互控制。當建立連接 開(kāi)始時(shí),客戶(hù)端發(fā)送GET請求方法給服務(wù)器端,以訪(fǎng)問(wèn)服務(wù)器端的網(wǎng)頁(yè)。POST作為請求方法時(shí),首先和Web服務(wù)器建立連接,成功后瀏覽器將HTML表單 中的值發(fā)送給Web服務(wù)器,服務(wù)器端的程序通過(guò)判斷用戶(hù)的信息來(lái)確定是否讓其進(jìn)入系統主頁(yè)面。在每次連接成功后,服務(wù)器端程序會(huì )返回以狀態(tài)碼200開(kāi)頭的 響應消息,消息的起始行為:HTTP/1.1 200 OK。當用戶(hù)請求一個(gè)服務(wù)器端不存在的文件時(shí),服務(wù)器返回以狀態(tài)碼404開(kāi)頭的響應消息。
HTTP的請求報文(實(shí)測):
1)一般的POST請求報文
評論