labview--http协议数据交互 - 努力努力再努力zx

hardzx 2021-11-12 原文


labview–http协议数据交互

最近接了一个项目,需求是要将采集到的数据,以以下要求上报,并且提供接口供上层系统下发指令。

采用restful的http协议进行交互;

输入输出参数皆为json体。

响应包含三部分:

Code:业务码 1000为成功

Data:响应数据

Desc:success 成功 failed  失败

 

例子:

Request:

{“areaId”:415}

 

Response:

{

    “code”: 1000,

    “data”: {  },

    “desc”: “success”

}

 

一、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)来标识。

二、协议功能

  

TTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。
 
三、运作方式
  在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。

  

四、实现该项目数据上报

    明确两点1、双方都是采用http协议post方式2、json格式

      它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。

      labview有自带的http协议函数   在数据通信—协议—http客户端    要实现post方法一般要用到(打开句柄、POST、添加头、关闭句柄),在添加头函数的文件头处要留意头文件格式。双方统一URL,然后就可以在POST函数中写入要上报的信息或文件到缓存区和获取返回消息的头部和体部了。其中还有个json格式的实现,可以直接使用字符串—平化还原字符串—平化至json,具体怎么用可以查看一下帮助文档。

二、做接口供上层系统调用

    这一块功能的实现要用到labview的web服务功能

    

第一步:新建一个项目,右键我的电脑 添加web服务

第二步:右键web资源,选择新建VI

第三步:获取信息资源(在互联接口–web服务–)

  该处用的是读取post数据。再使用从json还原函数。

 

 

这一块写的还是比较粗糙,其实在labview帮助文档中有非常详细的资料,通读两遍基本就可以对类似项目得心应手。

  

 

发表于
2018-11-13 10:03 
努力努力再努力zx 
阅读(10486
评论(2
编辑 
收藏 
举报

 

版权声明:本文为hardzx原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hardzx/p/9949663.html

labview--http协议数据交互 - 努力努力再努力zx的更多相关文章

  1. 软件注册与激活授权系统-CNC采集的授权介绍 – 有证程序员

    软件注册与激活授权系统-CNC采集的授权介绍 1.普通软件的软件可以绑定电脑的几个地址,如CPU,硬盘,等 2 […]...

  2. 分页查询表格逻辑 及源码 – 透明的鱼!

    分页查询表格逻辑 及源码 前台写数据展现时 有时需要用到分页   以下是自己写的分页源码   HTML页面的  […]...

  3. eclipse自动补全的设置 – 花海有你

    eclipse自动补全的设置 如果你用过Visual Studio的自动补全功能后,再来用eclipse的自动 […]...

  4. 拉普拉斯算子球面坐标式的推导 – seisjun

    拉普拉斯算子球面坐标式的推导...

  5. Java中重载和重写的区别 – lijingran

    Java中重载和重写的区别 转自https://blog.csdn.net/zhu_apollo/articl […]...

  6. Flume — 开源分布式日志收集系统

    Flume — 开源分布式日志收集系统 2015-01-14 21:37  hduhans  阅读 […]...

  7. 51单片机和PC串口异步通信 – 奥特曼

    51单片机和PC串口异步通信 单片机和PC机间的通信有很多方式,下面的程序主要用到的是51单片机的异步串行通信 […]...

  8. 国家电网 Sg186工程中GIS平台的选型 – 圣殿GIS

    国家电网 Sg186工程中GIS平台的选型 l        先进性和实用性 “SG186”是一个高标准的信息 […]...

随机推荐

  1. Nios II Avalon MM 外设地址对齐——转载

    虽然Nios II CPU是32位构架,但是Avalon总线作为一种开放的总线结构,为了兼容各种位宽的CPU和 […]...

  2. 心不安也无归处-我的2017

    又一次走到十字路口。选择太多就是没有选择。 人还在,心已远。需要乘后天凌晨的火车才能回家。写代码是不可能的了, […]...

  3. 一维数组转二维数组、交错数组

    元数据: var odata=[“交易日期|股权激励计划类型|通知类型|交易类别”, […]...

  4. 使用redis分布式锁解决并发线程资源共享问题

    众所周知, 在多线程中,因为共享全局变量,会导致资源修改结果不一致,所以需要加锁来解决这个问题,保证同一时间只 […]...

  5. OSI与TCP/IP各层的结构与功能,都有哪些协议?

    学习计算机⽹络时我们⼀般采⽤折中的办法,也就是中和 OSI 和 TCP/IP 的优点,采⽤⼀种只有 五层协议的 […]...

  6. 支付接口对接

    支付接口对接 一、     对接接口一览 1、通过看微信和支付宝接口对接,发现他们的共性: ①  商户号、账号 […]...

  7. windows一键部署java项目

    前言   前段时间老大看我很闲…然后给我下达了一项很重要的任务:windows一键部署,需要把服务 […]...

  8. oracle一条语句插入多个值的方法

    oracle一条语句插入多个值的方法 今天在实践过程中遇到一个问题, 我想往数据库插入多条数据时,使用了如下语 […]...

展开目录

目录导航