labview--http協議數據交互

最近接了一個項目,需求是要將採集到的數據,以如下要求上報,而且提供接口供上層系統下發指令。web

採用restful的http協議進行交互;

輸入輸出參數皆爲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、協議功能

  

TTP協議(HyperText Transfer Protocol,超文本傳輸協議)是用於從WWW服務器傳輸超文本到本地瀏覽器的傳輸協議。它可使瀏覽器更加高效,使網絡傳輸減小。它不只保證計算機正確快速地傳輸超文本文檔,還肯定傳輸文檔中的哪一部分,以及哪部份內容首先顯示(如文本先於圖形)等。
HTTP是客戶端瀏覽器或其餘程序與 Web服務器之間的應用層通訊協議。在Internet上的Web服務器上存放的都是超文本信息,客戶機須要經過HTTP協議傳輸所要訪問的超文本信息。HTTP包含命令和傳輸信息,不只可用於Web訪問,也能夠用於其餘因特網/內聯網應用系統之間的通訊,從而實現各種應用資源超媒體訪問的集成。
 
3、運做方式
  在WWW中,「客戶」與「服務器」是一個相對的概念,只存在於一個特定的鏈接期間,即在某個鏈接中的客戶在另外一個鏈接中可能做爲服務器。基於HTTP協議的客戶/服務器模式的信息交換過程,它分四個過程:創建鏈接、發送請求信息、發送響應信息、關閉鏈接。

  

4、實現該項目數據上報

    明確兩點一、雙方都是採用http協議post方式二、json格式

      它分四個過程:創建鏈接、發送請求信息、發送響應信息、關閉鏈接。

      labview有自帶的http協議函數   在數據通訊---協議---http客戶端    要實現post方法通常要用到(打開句柄、POST、添加頭、關閉句柄),在添加頭函數的文件頭處要留意頭文件格式。雙方統一URL,而後就能夠在POST函數中寫入要上報的信息或文件到緩存區和獲取返回消息的頭部和體部了。其中還有個json格式的實現,能夠直接使用字符串---平化還原字符串---平化至json,具體怎麼用能夠查看一下幫助文檔。

2、作接口供上層系統調用

    這一塊功能的實現要用到labview的web服務功能

    

第一步:新建一個項目,右鍵個人電腦 添加web服務

第二步:右鍵web資源,選擇新建VI

第三步:獲取信息資源(在互聯接口--web服務--)

  該處用的是讀取post數據。再使用從json還原函數。

 

 

這一塊寫的仍是比較粗糙,其實在labview幫助文檔中有很是詳細的資料,通讀兩遍基本就能夠對相似項目駕輕就熟。

  

相關文章
相關標籤/搜索