最近接了一個項目,需求是要將採集到的數據,以如下要求上報,而且提供接口供上層系統下發指令。web
輸入輸出參數皆爲json體。json
響應包含三部分:瀏覽器
Code:業務碼 1000爲成功緩存
Data:響應數據服務器
Desc:success 成功 failed 失敗restful
例子:網絡
Request:架構 {「areaId」:415}函數
Response:工具 { "code": 1000, "data": { }, "desc": "success" } |
1、HTTP技術架構
HTTP是一個客戶端和服務器端請求和應答的標準(TCP)。客戶端是終端用戶,服務器端是網站。經過使用Web瀏覽器或者其餘工具,客戶端發起一個到服務器上指定端口的HTTP請求。(咱們稱這個客戶端)叫用戶代理(user agent)。應答的服務器上存儲着一些資源,咱們稱應答服務器爲源服務器(origin server)。用戶代理和原服務器中可能存在多箇中間層,好比代理、網管等。儘管TCP\IP協議是互聯網最流行的應用,HTTP協議並無規定必須使用它和它支持的層。 事實上,HTTP能夠在任何其餘互聯網協議上,或者在其餘網絡上實現。HTTP只假定(其下層協議提供)可靠的傳輸,任何可以提供這種保證的協議均可以被其使用。
一般,由HTTP客戶端發起一個請求,創建一個到服務器指定端口(默認是80端口)的TCP鏈接。HTTP服務器則在那個端口監聽客戶端發送過來的請求。一旦收到請求,服務器(向客戶端)發回一個狀態行,好比"HTTP/1.1 200 OK",和(響應的)消息,消息的消息體多是請求的文件、錯誤消息、或者其它一些信息。
目前使用labview作這一塊功能的資料真的不多,通過一段時間的琢磨,已經找出瞭解決方法。
經過HTTP或者HTTPS協議請求的資源由統一資源標示符(Uniform Resource Identifiers)(或者,更準確一些,URLs)來標識。
2、協議功能
4、實現該項目數據上報
明確兩點一、雙方都是採用http協議post方式二、json格式
它分四個過程:創建鏈接、發送請求信息、發送響應信息、關閉鏈接。
labview有自帶的http協議函數 在數據通訊---協議---http客戶端 要實現post方法通常要用到(打開句柄、POST、添加頭、關閉句柄),在添加頭函數的文件頭處要留意頭文件格式。雙方統一URL,而後就能夠在POST函數中寫入要上報的信息或文件到緩存區和獲取返回消息的頭部和體部了。其中還有個json格式的實現,能夠直接使用字符串---平化還原字符串---平化至json,具體怎麼用能夠查看一下幫助文檔。
2、作接口供上層系統調用
這一塊功能的實現要用到labview的web服務功能
第一步:新建一個項目,右鍵個人電腦 添加web服務
第二步:右鍵web資源,選擇新建VI
第三步:獲取信息資源(在互聯接口--web服務--)
該處用的是讀取post數據。再使用從json還原函數。
這一塊寫的仍是比較粗糙,其實在labview幫助文檔中有很是詳細的資料,通讀兩遍基本就能夠對相似項目駕輕就熟。