作者:淇蒴_192 | 来源:互联网 | 2023-08-29 17:13
最近在构建一个中间层的通信架构,本来想用dbus,在实验过程中发现dbus对于国产系统支持版本比较低,安装比较麻烦,今天无意中看中了nanomsg,尽管没有dbus那么强悍的生态,但基本能满足需求。
nanomsg是一个轻量级的消息通信组件,是zeromq的作者之一用C语言去重写的通信框架,其无需进一步依赖,可在多种操作系统运行。介绍就不多说了,可直接去官网查询,该官网是我目前见过感觉最简洁大方的网站。
更多内容可关注公众号
官网地址:https://nanomsg.org/
源码地址:
https://github.com/nanomsg/nanomsg/releases
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安装完成。