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帮助文档中有很是详细的资料,通读两遍基本就能够对相似项目驾轻就熟。

  

相关文章
相关标签/搜索