最近在构建一个中间层的通信架构,本来想用dbus,在实验过程中发现dbus对于国产系统支持版本比较低,安装比较麻烦,今天无意中看中了nanomsg,尽管没有dbus那么强悍的生态,但基本能满足需求。

nanomsg是一个轻量级的消息通信组件,是zeromq的作者之一用C语言去重写的通信框架,其无需进一步依赖,可在多种操作系统运行。介绍就不多说了,可直接去官网查询,该官网是我目前见过感觉最简洁大方的网站。

更多内容可关注公众号

官网地址:https://nanomsg.org/

源码地址:

https://github.com/nanomsg/nanomsg/releases

  • 安装(主要参考源码里的README文件)

    1,下载最新源码release1.1.5版本,解压源码,进入源码目录

2,nanomsg使用cmake编译安装,安装cmake。

3,创建build文件夹用于存放cmake生成的makefile。进入build,camke编译,指定安装目录。

4,cmake  --build  .

5,ctest .

6,cmake --build . --target install

7,sudo ldconfig

8,安装完成,test文件夹为我创建,用于存放下面的测试用例。

  • 测试

官网有很多测试的例子,主要测试了nanomsg的几种模式。

我们用管道测试。此模式对于解决生产者/消费者问题(包括负载平衡)很有用。消息从推送侧流向推送侧。如果连接了多个对等方,则该模式将尝试公平分配。

用例源码地址:

https://nanomsg.org/gettingstarted/pipeline.html

将源码保存到本地文件,存储为pipeline.c

编译:gcc pipeline.c -lnanomsg -o pipeline -I ../include/ -L ../lib/

启动接收管道0

启动管道1发送Hello World!

启动管道1发送Goodbye

最后不要忘记杀死管道0。

测试没有问题,至此nanomsg安装完成。

nanomsg安装和测试相关推荐

  1. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接...

    一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径"C:\Soft\mysql-5.6.24-winx64" ...

  2. http_load安装与测试参数分析

    http_load安装与测试参数分析 http_load以并行复用的方式运行,用以测试 web 服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死. ...

  3. nginx 没有sbin目录_CentOS7下Nginx+ModSecurity配置、安装、测试教程

    " 最近在工作上遇到一点问题,问了大佬.百度,都没有很好地解决:经过大量搜索查阅以及试验,终于将问题解决.于是写下这篇文章以提醒自己,也可供读者参考." 环境:CentOS-7-x ...

  4. AutoBench+Httperf的安装、测试

    首先安装Httperf.主要是Httperf网路上给出的url均无法访问,因此在GitHub上找的源码工程,进行安装. 接下来介绍安装步骤,从Github下载下来的httperf包是zip. unzi ...

  5. 安装并测试nvenc linux sdk

    2019独角兽企业重金招聘Python工程师标准>>> nvidia在cuda之后推出一种官方生成更好视频处理技术nvenc. 网上相关资料很少, 也不知道这个东西到底怎么样,自己测 ...

  6. appium for mac 安装与测试ios说明

    一.安装 安装dmg,可以自己下载appium-1.4.0.dmg或者找rtx我要,文件过大不能添加附件. Appium提供了一个doctor,运行appium-doctor 如果有问题,Fix it ...

  7. Faste R-CNN的安装及测试

    一.拉取源码 下载 fast-rcnn 因下载解压后 caffe-fast-rcnn是空文件夹,故需要单独下 caffe-fast-rcnn-bcd9b4eadc7d8fbc433aeefd564e8 ...

  8. Faster R-CNN的安装及测试(Python版本和Matlab版本)

    rbg的Python版本 一.拉取源码 git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git 拉取完成后,在/h ...

  9. Eclipse JPBC library安装及测试

    Eclipse JPBC library安装及测试 资源下载路径: 安装配置: JPBC库是一个功能很强大的数学库,用于生成椭圆曲线,双线性等,但网上参考资料很少,重复度极高,该分栏用于安装,JPBC ...

  10. Window10 NVIDIA显卡 Tensorflow 2.1 GPU 安装和测试

    Window10 NVIDIA显卡 Tensorflow 2.1 GPU 安装和测试 1. 硬件要求 支持以下带有 GPU 的设备: CUDA® 计算能力为 3.5 或更高的 NVIDIA® GPU ...

最新文章

  1. Redis集群CentOS系统配置企业级数据备份方案以及数据恢复的操作(在开启AOF功能下恢复冷备RDB文件数据,保持AOF和RDB双开情况下恢复数据及错误的数据恢复步骤详解)
  2. [并发编程]并发编程第二篇:利用并发编程,实现计算大量数据的和
  3. python中可以表示任意大的整数_Python无法表示99999999999999999999这样大的整数。
  4. 单片机中通用的类型别名
  5. Ubuntu关于apt-get remove与apt-get purge
  6. 虚拟主机php.ini在哪里,虚拟主机的php.ini配置文件在哪里
  7. Android学习笔记---开发与运行(卸载)第一个ANDROID应用--Helloworld
  8. Spring项目在启动时报Error running 'ProviderC': Cannot start process, the working directory 'E:\ ' does not
  9. Java学习目录(持续更新中)
  10. liteon460w服务器电源管理系统,PS-5251-06 LITEON光宝工业电源
  11. Python爬取wfxnews 小说网站,实现批量下载小说
  12. zabbix 监控h3c 10508 交换机光衰值
  13. java简历项目经验描述,2021大厂面试合集
  14. 和菜鸟一起学产品之交互式设计
  15. 为什么Lisp如此先进,却永远成为不了编程主流语言?深度解析Lisp的优势与劣势
  16. ICDsoft主机半价优惠码推荐
  17. matlab多种分配方案_基于Matlab解决m个人n项任务的最优分派
  18. 20230419心情随记
  19. uip tcp 客户端例程
  20. uGUI学习篇: UI元素的渲染与性能

热门文章

  1. 高通 MSM 8916与MSM8926芯片的区别
  2. 一维的热传导方程向前差分法
  3. Salesforce入门教程(中文)-019 VF创建输入表单
  4. Java并发练习:无锁编程
  5. 使用JDOM生成/解析XML文档
  6. 2008网站服务器配置,08CMS网站Windows_2008服务器环境配置方法
  7. 你可以有喜欢和善用的语言,但千万不要和她Bind
  8. css3魔方3乘3每层旋转_纯CSS做3D旋转魔方
  9. win7下VS2012配置DirectShow+Opencv并且多摄像头采集
  10. 3行代码,Python实现excel转换成任意格式的word文档