消息中间件zeroMQ

  • 1 czmq交叉编译
  • 2 示例demo
    • 2.1 example1

1 czmq交叉编译

  • czmq的交叉编译移植参考此篇博客,比较详细
    https://www.dazhuanlan.com/2019/12/10/5deee354ae256/

  • 1.1 下载编译依赖库libzmq

    git clone git://github.com/zeromq/libzmq.git

    cd libzmq && ./autogen.sh

    ./configure --host=arm-linux --prefix=/home/xxx/arm-libzmq/ # 设置工具链和安装路径

    make && make install

  • 1.2 下载编译安装libcurl
    下载地址:

    https://curl.haxx.se/download/

      下载:
    

    wget https://curl.haxx.se/download/curl-7.63.0.tar.gz

    配置交叉编译环境

    cd curl-7.63.0
    ./configure --host=arm-linux --prefix=/home/xxx/arm-libcurl/

    编译并安装

    make && make install

  • 1.3 libuuid交叉编译

    下载源码

    https://sourceforge.net/projects/libuuid/

    配置交叉编译环境

    cd libuuid-1.0.3
    ./configure --host=arm-linux --prefix=/home/xxx/arm-uuid/

    编译并安装

    make && make install

  • 1.4 安装libczmq库
    下载源码

    git clone git://github.com/zeromq/czmq.git

    生成环境

    cd czmq && ./autogen.sh

    配置交叉编译

    ./configure --host=arm-linux --prefix=/home/xxx/opt/arm-czmq/ CFLAGS="-I/home/xxx/arm-libzmq/include -I/home/xxx/arm- uuid/include" LDFLAGS="-L/home/xxx/arm-libzmq/lib -L/home/xxx/arm-uuid/lib -L/home/xxx/arm-libcurl/lib"
    其中CFLAGS指定头文件路径, LDFLAGS指定库路径; 链接生成静态库时,有一些问题找不到libstdc++等库,但是动态库可以用。需要把动态库和libstdc++.so 相关库拷贝到开发板即可。

    编译并安装

    make && make install

2 示例demo

2.1 example1

#include <stdio.h>
#include <stdlib.h>
#include <czmq.h>int main (void)
{//  Create and bind server socketzsock_t *server = zsock_new (ZMQ_PUSH);zsock_bind (server, "tcp://*:9000");//  Create and connect client socketzsock_t *client = zsock_new (ZMQ_PULL);zsock_connect (client, "tcp://127.0.0.1:9000");//  Send a single message from server to clientzstr_send (server, "Hello");char *message = zstr_recv (client);assert (streq (message, "Hello"));printf("recv:%s\n", message);free (message);puts ("Grasslands test OK");zsock_destroy (&client);zsock_destroy (&server);return 0;
}

9001.消息中间件zeroMQ相关推荐

  1. 流行的通讯库/消息中间件

    网络上各种各样的通讯中间件/MQ多不胜数.具作者所知,比较有名的有ACE.ICE.Boost::ASIO.MSMQ.ActiveMQ.RabbitMQ.ZeroMQ等等. 其中ACE.ICE是经典,网 ...

  2. [Ubuntu]Scrcpy+Zeromq实现手机屏幕yuv数据传输,并通过OpenCV实现连续播放——(二)(思路+代码解析)

    Scrcpy在上一篇博客中有所介绍,并且使用Scrcpy实现了手机屏幕yuv数据的提取([Ubuntu]Scrcpy获取手机屏幕yuv数据_又是谁在卷的博客-CSDN博客).本文将介绍一个当下较为好用 ...

  3. Haproxy在socket/tcp下传输数据的使用实例

    使用场景 利用haproxy进行负载均衡,作用于socket下数据传输,非http访问负载均衡. 假定场景如下,终端1和终端2负责收集数据,然后希望通过负载均衡器将数据转发到服务器上进行分析. 希望: ...

  4. 消息中间件ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ、Kafka如何选型

    转载自 消息中间件ActiveMQ.RabbitMQ.RocketMQ.ZeroMQ.Kafka如何选型? 最近要为公司的消息队列中间件进行选型,市面上相关的开源技术又非常多,如ActiveMQ.Ra ...

  5. 消息中间件的技术选型心得-RabbitMQ ActiveMQ和ZeroMQ

    消息中间件的技术选型心得-RabbitMQ.ActiveMQ和ZeroMQ 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs RabbitMQ.Active ...

  6. 消息中间件kafka与activeMQ、rabbitMQ、zeroMQ、rocketMQ的比较

    一.kafka 1.不完全符合jms规范,注重吞吐量,类似udp 和 tcp 2.一般做大数据吞吐的管道 我们现在的用途就是负责在各个idc之间通信 3.量大对数据不是百分之百保证的,会有数据丢失,不 ...

  7. 消息中间件(RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ等)的定义、组成、特点、优缺点、应用场景面试题

    大家都参与过网上电商平台的秒杀活动吧,一般的秒杀活动辄几百万的参与人数,而"双十一"的参与人数更是已"亿"为计量单位.那么这些电商平台的系统架构是怎样的,它们是 ...

  8. 消息中间件系列第2讲:如何进行消息队列选型?

    要做技术选型,那么必须对现今的各个消息中间件有个深入的理解才能做技术选型.否则别人问你,你为什么要用这个消息中间件,你说不出个所以然来,怎么做架构师呢? 截止到目前为止,现在业界流行的消息队列中间件有 ...

  9. mq系列传感器的程序_消息中间件(一)MQ详解及四大MQ比较

    一.消息中间件相关知识 1.概述 消息队列已经逐渐成为企业IT系统内部通信的核心手段.它具有低耦合.可靠投递.广播.流量控制.最终一致性等一系列功能,成为异步RPC的主要手段之一.当今市面上有很多主流 ...

最新文章

  1. Android系统自带样式(android:theme)(转)
  2. Mybatis的xml配置备忘
  3. SQL语言之序列(Oracle)
  4. Linuxday01基础命令
  5. Hinton发布最新论文!表达神经网络中部分-整体层次结构
  6. android学习笔记---34_Activity的启动模式
  7. TypeScript 热度超 C 与 Python、Go 开发收入高、运维吃香,调查了 65000 名开发者有这些发现!...
  8. 【WEB基础】HTML CSS 基础入门(2)选取工具:VS2019安装使用
  9. S3C2440PWM 定时器
  10. 怕被发垃圾邮件?用临时邮箱来注册账号
  11. 行列式的六条运算法则整理
  12. 服务器增加cpu图,Intel服务器路线图:14nm再战两年 上胶水封装
  13. 图数据库扫盲和图数据选用
  14. 电脑自动捆绑软件,怎么办?
  15. cesium根据两点获取航向角(heading)与俯仰角(pitch)
  16. python中的序列类型数据结构元素的切片操作_PythonI/O进阶学习笔记_4.自定义序列类(序列基类继承关系/可切片对象/推导式)...
  17. Python办公自动化实践1:从多个excel表中提取数据并汇总到一个工作表页中,表格,抽取,sheet
  18. 六自由度机器人关节坐标系变换及机器人工具TCP
  19. YII Framework学习教程-用YIIC快速创建YII应用之三-2011-11-11
  20. 喜欢二次元的程序员,是如何宣泄的?看到他们的电脑桌面就知道了

热门文章

  1. python 保留顺序去重_Python数据分析入门教程(二):数据预处理
  2. redis 命令别名_【死磕 Redis】 哨兵(一):部署哨兵架构
  3. java插入数据库字符串拼接_java连接mysql数据库实现单条插入和批量插入
  4. 特征筛选5——距离相关系数筛选特征(单变量筛选)
  5. pytorch实现基本AutoEncoder与案例
  6. 解决Numpy 报错 ValueError: zero-size array to reduction operation maximum which has no identity
  7. 计算机组成部分有cpu吗,计算机组成原理笔记——处理器(1)[未完]
  8. opencv java水平投影_OpenCV实现图像在水平方向上投影
  9. Code Access Security (CAS)
  10. HashMap底层实现及原理