nanomsg的使用与分析
来源:互联网 发布:淘宝 桌游 编辑:程序博客网 时间:2024/06/07 07:41
本文对nanomsg进行系统讲解( socket不同类型的区别):
1.pull/push和rep/req的区别:
对于pull/push,客户端为push,其send数据后,server端会立即接收到
对于rep/req,客户端为req,其send数据后,客户端并不会立即发送给client,客户端必须再执行recv调用后,才会真正send数据
2. pair和req/req区别:
pair中,客户端只要send数据,server端就会接收到,客户端不必连续执行send,recv。但是,pair是一对一的,也就是说
附:
libc.h在linux是找不到的(XOS下才有),按照如下方法换成linux的.h,编译的时候要加上-pthread和最后的-lanl选项
//#include <libc.h>
#include <unistd.h>
#include <string.h>
#include <pthread.h>
gcc -pthread reqrep.c /usr/local/lib/libnanomsg.a -o reqrep -lanl
Socket设置
int req;int sndprio;char buf [64];/* Open a REQ socket. */nn_init ();req = nn_socket (AF_SP, NN_REQ);/* Connect to 3 servers in New York and 1 in London. */sndprio = 1;nn_setsockopt (req, NN_SOL_SOCKET, NN_SNDPRIO, &sndprio, sizeof (int));nn_connect (req, "tcp://newyorksrv001");nn_connect (req, "tcp://newyorksrv002");nn_connect (req, "tcp://newyorksrv003");sndprio = 2;nn_setsockopt (req, NN_SOL_SOCKET, NN_SNDPRIO, &sndprio, sizeof (int));nn_connect (req, "tcp://londonsrv001");/* Do your work. */while (1) { nn_send (req, "MyRequest", 9, 0); nn_recv (req, buf, sizeof (buf), 0); process_reply (buf);}/* Clean up. */nn_close (req);nn_term ();
0 1
- nanomsg的使用与分析
- nanomsg在windows下的编译使用
- nanomsg使用笔记-1
- Linux 下nanomsg 编译及使用笔记
- nanomsg的pub/sub模式用法
- nanomsg: 协议NN_PAIR, TCP的SERVER端数据结构
- nanomsg pair tcp SERVER端各个模块的状态
- About Nanomsg
- RabbitMQ的使用与分析
- ThreadPoolExecutor的分析与使用
- WebView的分析与使用
- Socket的分析与使用
- Bitmap 的分析与使用
- ThreadLocal的分析与使用
- Bitmap的分析与使用
- ClassLoader的分析与使用
- OpenWrt使用的文件系统理解与分析
- 存储过程的分析与使用
- 搭建云端服务器
- linux Centos6.5使用yum安装mysql
- 安装nexus
- dp 0-1
- 1001. A+B Format (20)
- nanomsg的使用与分析
- C++Primer学习之四初始化
- 界面上单元格的可操作性和背景颜色根据某一个单元格值的变化而发生改变
- 总结2015,启航2016
- 使弹出框的标题显示为父窗体上选中行的内容
- 界面元素查询语句计算页数SQL中增加汇总值描述
- 隐马尔可夫模型(HMM)攻略
- 实现界面全选效果
- linux例行性命令