基于LabVIEW的zeromq通信研究与应用分析

zeromq被称之为 sockets on steroids,该库使得计算机之间通信极为简单。zeromq通信协议具有跨平台的统一通信标准。基于labview的zeromq的发布,使得labview在不同语言之间,不同计算机之间无延时通信变得很容易。这个库在windows 系统,32位和64位测试都是可以正常运行的,通过vipm进行安装。
由请求端发起请求,然后等待回应端应答。一个请求必须对应一个回应,从请求端的角度来看是发-收配对,从回应端的角度是收-发对。跟一对一结对模型的区别在于请求端可以是1~n个。该模型主要用于远程调用及任务分配等。echo服务就是这种经典模型的应用。
这种模式类似http的webservice
这里提供了一个说”word”的服务,服务端在等待请求,接收到请求后,回复world。
客户端发送“hello”后等待服务端的回复,如下图所示。
发布端单向分发数据,且不关心是否把全部信息发送给订阅端。如果发布端开始发布信息时,订阅端尚未连接上来,则这些信息会被直接丢弃。订阅端未连接导致信息丢失的问题,可以通过与请求回应模型组合来解决。订阅端只负责接收,而不能反馈,且在订阅端消费速度慢于发布端的情况下,会在订阅端堆积数据。该模型主要用于数据分发。这种模式类似于labview的产生事件、通知等形式。
范例提供了简单的发布者例子,如下所示。
订阅者:
目前,市面上类似的产品不少,主要有4种:msmq(微软产品)、activemq(java)、rabbitmq(erlang)、zeromq(c++)。除zeromq外,其它3款产品都是一个单独服务或者进程,需要单独安装和运行,且对环境有一定依赖。其中,msmq在非windows平台下安装非常复杂,activemq需要目标机器上已经安装了java,rabbitmq需要erlang环境。而zeromq是以库的形式存在,由应用程序加载、运行即可。但是zeromq仅提供非持久性的消息队列。
下图来自于internet的性能测试数据。显示的是每秒钟发送和接受的消息数。整个过程共产生1百万条1k的消息,测试环境为windows10。从测试数据可以看出,zeromq的性能远远高于其它3个mq。
但是测试数据仅供参考,因为缺少必须的环境参数和性能指标,比如:cpu参数、内存参数、消息模型、通信协议、极限时消耗cpu百分比、极限时消耗内存百分比等。
原文标题:基于labview的zeromq通信 
文章出处:【微信公众号:labview逆向工程高级编程】欢迎添加关注!文章转载请注明出处。


校园IP网络广播对讲有哪些重要优势?
三菱PLC程序设计编写经验
胆前级6H14п+6H8C+6P1功放的制作及电路原理图
可穿戴设备行业竞争分析
乐视网为什么巨亏?乐视网巨亏139亿的背后原因解读
基于LabVIEW的zeromq通信研究与应用分析
工业物联网数采方案助力智能装备制造商实现数字化升级
CS5268设计带PD3.0转HDMI+USB3.0拓展坞方案
中科院苏州纳米所:具有Janus结构高机械强度的选择性响应柔性力学传感器
三相电表可以当作高压电表使用吗?
机器人工程师行业迎来了怎样的机遇
ADI生态系统RadioVerse发挥完美救援技术,灾难救援设备市场备受关注
LM3S9B96设计的32位Cortex-M3 MCU开发技
华为视频云解决和完善新时期视频监控的建设应用方案
对40~500KHZ频率提供发信功率的放大器电路图
FPGA技术在自动驾驶的应用
罗克韦尔自动化FactoryTalk Analytics帮助企业解决数据分析难题
CDMA和CDMA1X的区别
适合单片机实时处理的简单FIR滤波器设计
一加7 Pro已支持全新的智能蓝牙功能