游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

实用一个高性能通信库的简单使用分享

  前言
  最近的工作中也有用到nanomsg,本篇推文来简单分享一下nanomsg的基本使用。nanomsg简介
  nanomsg是一个实现了几种可扩展协议的高性能通信库;可扩展协议的任务是定义多个应用系统如何通信,从而组成一个大的分布式系统。
  下载链接:
  https:github。comgaobaorunanomsg
  当前版本nanomsg支持以下协议:配对模式:简单的一对一的通信;总线模式:简单的多对多的通信;请求回复模式:支持组建大规模的集群服务来处理用户请求;扇入模式:支持从多个源聚合请求消息;扇出模式:支持分配到多个节点以支持负载均衡;调查模式:允许在一个单一的请求里检查多个应用的状态;
  可扩展协议是在网络通信协议之上实现的,当前版本nanomsg支持以下几种传输机制:INPROC:单进程内通信;IPC:单机内多进程的通信;TCP:通过tcp协议的网络通信;
  nanomsg用c实现,不依赖系统特性,所以支持多个操作系统。nanomsg编译交叉编译
  按照上面的链接下载后得到:
  首先创建一个build文件夹用于管理我们编译所需、编译生成的一些文件。
  这里,我们演示编译交叉编译,首先在build目录下分别创建如下两个文件夹存放我们待会编译得到的x86lib、armlib:
  然后在build路径下根据自己的需要输入如下命令生成Makefile、进行编译交叉编译、测试:
  1、编译cmake。。DCMAKEINSTALLPREFIXPWDnanomsgx86libcmakebuild。ctest。sudocmakebuild。targetinstallsudoldconfig
  :usrlocal是默认安装到的根目录,可以通过修改CMAKEINSTALLPREFIX变量的值来指定这些文件应该拷贝到哪个目录,这里我们指定到当前目录的nanomsgx86lib目录。
  :编译。
  :测试。CMake提供了一个称为CTest的测试工具,nanomsg项目根目录的CMakeLists文件中调用了addtest命令进行测试。
  :安装。把编译生成的库及相关头文件安装到nanomsgx86lib目录中。
  :让生成的nanomsg动态链接库为系统所共享。ldconfig是一个动态链接库管理命令,其目的为了让动态链接库为系统所共享。
  查看生成的动态库是否是x86架构的:
  2、交叉编译
  在nanomsg根目录下的CMakeLists。txt文件里加上交叉编译器设置:
  然后输入如下命令:cmake。。DCMAKEINSTALLPREFIXPWDnanomsgarmlibcmakebuild。sudocmakebuild。targetinstallsudoldconfig
  与上面的编译x86的nanomsg库的步骤差不多,这里把测试的指令ctest。去掉了,因为生成的可执行文件是arm架构的,所以直接运行测试会出错。
  查看生成的动态库是否是arm架构的:
  nanomsg使用例子
  nanomsg可用于多线程、多进程、多机通信。nanomsg是一个socketlibrary,所以其应用接口与标准的socket接口差不多,只是多了前缀nn,如nnsocket、nnclose、nnsend、nnrecv等。关于socket可查阅往期笔记:TCP、UDP通信总结
  下面演示进程间通信的clientserver的例子,以下测试代码主要实现的是clientserver进行收发测试。
  nanomsgserver。c:微信公众号:嵌入式大杂烩includestdio。hincludepthread。hincludestdlib。hincludestring。hincludeunistd。hincludenanomsgpair。hincludenanomsgbus。hincludenanomsgnn。hdefineBUFLEN100charurltcp:127。0。0。1:2021;intmain(void){intserversock0;charbuf〔BUFLEN〕{0};if(serversocknnsocket(AFSP,NNPAIR)0){printf(createserversocketfailed!);return1;}if(nnbind(serversock,url)0){printf(bindserversockfailed!r);nnclose(serversock);return1;}printf(serverinitsuccess!);while(1){if(nnrecv(serversock,buf,sizeof(buf),0)0){printf(recvfailed!);nnclose(serversock);exit(EXITFAILURE);}else{printf(recieveclientmsg:sr,buf);if(nnsend(serversock,buf,sizeof(buf),0)0){printf(sendfailed!r);nnclose(serversock);exit(EXITFAILURE);}}}nnclose(serversock);return0;}
  nanomsgclient。c:微信公众号:嵌入式大杂烩includestdio。hincludepthread。hincludestdlib。hincludestring。hincludeunistd。hincludenanomsgpair。hincludenanomsgbus。hincludenanomsgnn。hdefineBUFLEN100charurltcp:127。0。0。1:2021;intmain(void){intclientsock0;charbuf〔BUFLEN〕{0};if(clientsocknnsocket(AFSP,NNPAIR)0){printf(createserversocketfailed!);return1;}if(nnconnect(clientsock,url)0){printf(connectserversockfailed!r);nnclose(clientsock);return1;}printf(clientinitsuccess!);while(1){scanf(s,buf);if(nnsend(clientsock,buf,sizeof(buf),0)0){printf(sendfailed!r);nnclose(clientsock);}memset(buf,0,BUFLEN);if(nnrecv(clientsock,buf,sizeof(buf),0)0){printf(recieveservermsg:sr,buf);}memset(buf,0,BUFLEN);}nnclose(clientsock);return0;}
  编译:gccnanomsgserver。conanomsgserverIhomebookgitclonenanomsgbuildnanomsgx86libincludeLhomebookgitclonenanomsgbuildnanomsgx86libliblnanomsggccnanomsgclient。conanomsgclientIhomebookgitclonenanomsgbuildnanomsgx86libincludeLhomebookgitclonenanomsgbuildnanomsgx86libliblnanomsgIxxx:指定头文件路径。Lxxx:指定库路径。lnanomsg:链接动态库nanomsg。so。
  运行测试:
  运行可能会出现如下错误:
  不能找到共享库文件libtestd。so,加载失败。因为一般情况下Linux会在usrlib路径中搜索需要用到的库,而libtestd。so库并不在这个路径下。
  解决方法有两种:一种就是把这个文件拷贝至usrlib路径下,但是一般不允许这样做,一般用户也不允许往这个路径里拷贝东西。另一种就是把当前路径增加为动态库的搜索路径,命令如:
  exportLDLIBRARYPATHhomebookgitclonenanomsgbuildnanomsgx86liblib:LDLIBRARYPATH
  然后继续运行:
  可见,收发测试成功。以上就是本次关于nanomsg的简单使用分享,如果文章对你有帮助,麻烦帮忙转发,谢谢!猜你喜欢:
  Protobuf:一种更小、更快、更高效的协议
  分享一个基于全平台GUI库GUILite的简易万年历
  1024G嵌入式资源大放送!包括但不限于CC、单片机、Linux等。私信回复1024,即可免费获取!

一招教你清除手机缓存,让手机洁净如新大家好!今天和大家分享一个清理手机缓存的方法!大家有没有感觉安卓手机用一段时间之后内存就占用非常多,而且非常卡。如果恢复出厂设置又太麻烦,那么可以试一下下面的方法。……手机为什么卡顿?这几个因素是关键!闪退、卡顿、反应迟钝手机使用久了难免出现此类令人抓狂的问题不仅影响工作、社交和娱乐还让心情变得糟糕换部手机心和钱包都在滴血想要不花钱,……流金岁月杨柯最后怎么样了杨柯最后的结局是什么在电视剧《流金岁月》当中,杨柯这个角色是非常讨喜的,有着自己的人格魅力,杨柯最后怎么样了呢?杨柯最后的结局是什么呢?杨柯最后和谁在一起了呢?一起来看一下具体的情况。1流金岁月杨……流金岁月李一梵结局,流金岁月李一梵扮演者当代剧《流金岁月》给展现李一梵有着帅气的模样,加上为人十分直白和坦诚,刚开始他对蒋南孙产生特别多的好感,并想跟蒋南孙能在一起生活,实际于小伟扮演的李一梵经过两次交流后,根本没有……国产穿越电影有哪些好看的(精选10部)穿越题材可以算上是一种大热题材,大年初一上映的《你好,李焕英》正在电影院热映,它也是一种穿越题材的电影,口碑非常好,现在票房已经过35亿了,那么国产穿越电影有哪些好看的呢?下面……CES2022韩国三星携手Naver元宇宙展台推广新年新品南方财经全媒体记者江月报道在1月5日至8日于美国拉斯维加斯举行的2022年度国际电子展上,韩国电子巨头三星携手韩国娱乐公司Naver,打造了吸引眼球的虚拟展厅。硬件制造商……锦绣南歌大结局剧情介绍,锦绣南歌沈家父子第几集死的爱情剧《锦绣南歌》给带来侠女的骊歌和监政的刘义康在经历重重磨难,使得他们终成眷属,还开创盛世昌荣的场景,最后骊歌和彭城王顺利走到一起,不过沈家父子在41集死去有点遗憾呀。……五幅概念图出炉包括苹果和华为手机,庆幸做等等党了首先,第一张概念图是关于华为P50Pro的。要知道,华为P系列最大的卖点不仅是拍照能力,还有外观。从概念图来看,正面采用了屏下镜头设计。下巴和额头都只有很小的黑边,正面的视觉冲……私人影院都有什么电影(适合在私人影院看的电影)私人影院都有什么电影?其实,去私人影院一定要看口碑好的老片,好好欣赏艺术。比如:《地球最后的夜晚》、《绿皮书》阿米尔汗系列、《我的个神啊》、《三傻大闹宝莱坞》、《阿甘正传》、《……蓝厂要爆发了?首发IMX866及GNV两大传感器,终结影像内之前我们就说过,今年安卓旗舰手机有很大一个问题就是为了削减成本,各大厂商纷纷在影像系统部分做减法,和过去相比影像系统不但没有加强,有的旗舰手机甚至削弱了。所以至少在2022年已……豆瓣评分9。0以上丧尸片十大必看丧尸电影2022近年来,亚洲丧尸片出了不少爆款,尤其韩国影视剧蓬勃发展,从《王国》、《摄影机不要停》,再到《甜蜜家园》,一大波丧尸从古代杀到了世界末日。。。。。僵尸题材的末日影集,因剧情惊悚血……利用go语言实现求数组交集的算法计算两个数组的交集这里说一下,我这里就用go语言来实现,别的语言也都可以题目:给定两个数组,编写一个函数来计算它们的交集。(来自leecode(349))示例……
如何看待iPhone8玻璃背板?苹果几大新品的出现,一直被吐槽,比如说iphone7与iphone8外形变化不大,升级的IOS11后更加费电。不知道苹果看到这连连的吐槽声作何感想呢?买iphone不是最……一不小心捡到爱原著小说是什么顾安心凌越结局在一起了吗?最近这部《一不小心捡到爱》这部剧在全网播出,这部剧是由赵露思和刘特主演的,那么这部《一不小心捡到爱》原著小说结局是什么?以及顾安心凌越结局在一起了吗?下面就和小编一起来看看吧。……间谍电影排行榜前十名每一部都是记忆中的经典综合间谍电影排行榜前十名推荐,这10部电影可以说都是谍战片的经典之作,是非常值得去观看的优秀电影。可以说每一部都是记忆中的经典,大家一定要去看看,细细品一下这些经典谍战电影。1……18禁的韩国古装电影猛男诞生记布景唯美田园令人向往18禁的韩国古装电影:《美人图》、《奸臣》、《方子传》、《猛男诞生记》、《春香传》、《纯真时代》、《后宫:帝王之妾》、《丑闻》、《于宇同:无主之花》、《雍女传》110部18禁的……小偷家族剧情详解小偷家族解析影评喜欢看日剧的小伙伴,一定看过这部日剧电影《小偷家族》,这是由偷组成的家族,看过电影的小伙伴一定很好奇,生活这么好,为什么还要出去呢?下面小编介绍一下小偷家族剧情详解。1小……天龙八部到鹿鼎记金庸武侠北宋到清朝的因果关系从《天龙八部》开始,接着《射雕英雄传》、《神雕侠侣》、《倚天屠龙记》、《笑傲江湖》、《碧血剑》、《鹿鼎记》、《书剑恩仇录》刚好在时序上从北宋讲到清朝乾隆年间,内容提到的人名、武……供应链未来新趋势2,工业4。0时代的物联网把全球供应链引向何工业4。0时代所谓工业4。0(Industry4。0),是基于工业发展的不同阶段作出的划分。按照共识,工业1。0是蒸汽机时代,工业2。0是电气化时代,工业3。0是信息化时……搞笑的鬼片排名前十的即经典又评分高的鬼片鬼存在的真实性依然是没有定论的,但在一些鬼电影里,大家都能看到一些关于鬼的构想,下面为大家推荐搞笑的鬼片排名前十的:即经典又评分高的鬼片。1、《人形师》200408……免费爆笑喜剧电影有哪些(我心中10个爆笑喜剧电影)免费爆笑喜剧电影有哪些(我心中10个爆笑喜剧电影)。喜剧电影给观众带来很多的快乐,国内也涌现了一批喜剧明星,如周星驰、黄渤、沈腾、王宝强、马丽等,他们都有不少爆笑的电影作品被大……初恋那件小事什么时候播初恋那件小事剧情介绍近日,电视剧《初恋那件小事》已经官宣了,官宣海报中,这部剧的男主角和女主角分别是赖冠霖和赵今麦,两人穿校服的照片曝光了,不少网友表示对这部剧非常的期待,那么,这部剧什么时候播出……乔家的儿女齐志强生什么病,乔家的儿女齐志强演员当代剧《乔家的儿女》中齐志强做为乔家孩子的姨父,期间产生不错的感情,主要齐志强要照顾乔家的五个孩子,还去照顾自己的三个孩子却得了肝癌,可见朱泳腾把齐志强的角色上演多么精彩。……法医秦明之读心者具体播出时间,法医秦明之读心者主要剧情介绍悬疑剧《法医秦明之读心者》安排在2022年5月21日播出,所给带来法医研究生秦明为调查母亲遇害的谜团,只好来到母亲的老家龙番市,之后他经受历练和成长,逐渐他在调查中发现事情背后……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网