ZeroMQ接口函数之 :zmq_proxy – 开始ZMQ内置代理
Name
zmq_proxy – 开始ZMQ内置代理
Synopsis
int zmq_proxy (const void *frontend, const void *backend, const void *capture);
Description
zmq_proxy()函数在当前线程内开始ZMQ内置代理。
代理将一个前端socket连接到一个后端。一般来说,数据会从前端流向后端。根据socket的类型,数据可能向相反的方向流动。方向指示概念上的;代理是完全对称的,在技术上前端和后端没有什么区别。
在调用zmq_proxy()函数之前,你最好把该设置的socket属性都设置了,并且前端和后端都要进行连接或绑定。这两个传统的代理模式是:
zmq_proxy()函数在当前的线程空间中运行,并且只有在当前使用的context被关闭之后才会返回。
如果捕捉到的socket不是NULL,代理会发送从前端和后端接收到的所有消息给捕捉到的socket。获取的socket的类型应该是ZMQ_PUB、ZMQ_DEALER、ZMQ_PUSH、ZMQ_PAIR。
参见zmq_socket(3)函数获取socket类型更详细的说明。
Example usage
共享队列
当前端是一个ZMQ_ROUTER类型的socket,并且后端是一个ZMQ_DEALER类型的scoket的时候,代理会扮演一个共享队列的角色,从许多的客户端接收消息,并且把这些消息公平的分发到服务端。这些请求会被前端公平的放置在队列里进行接收,并通过后端进行均衡的分发。回复会自动的返回给原始的请求者。
Forwarder
当前端是一个ZMQ_XSUB类型的socket,并且后端是ZMQ_XPUB类型的socket的时候,代理会扮演一个运送者的角色。从大量的分发者中手机消息,并把这消息发送给一批订阅者。这可以被用于桥接传输模式。更多信息请参见tcp://和pgm://。
Streamer
当前端是ZMQ_PULL类型的socket,后端是ZMQ_PUSH类型的消息时,代理会从一批客户端手机消息并发送给一批使用管道传输模式的工作端。
Return value
zmq_proxy()函数只会返回 -1,并且设置errno的值为ETERM(ZMQ context被关闭了或者任何一个给定的socket被关闭了)。
Example
创建一个共享队列代理
// Create frontend and backend sockets void *frontend = zmq_socket (context, ZMQ_ROUTER); assert (backend); void *backend = zmq_socket (context, ZMQ_DEALER); assert (frontend); // Bind both sockets to TCP ports assert (zmq_bind (frontend, "tcp://*:5555") == 0); assert (zmq_bind (backend, "tcp://*:5556") == 0); // Start the queue proxy, which runs until ETERM zmq_proxy (frontend, backend, NULL);
See also
zmq_bind(3) zmq_connect(3) zmq_socket(3) zmq(7)
Authors
This page was written by the ØMQ community. To make a change please read the ØMQ Contribution Policy at http://www.zeromq.org/docs:contributing.
Web site design and content is copyright (c) 2007-2012 iMatix Corporation. Contact us for professional support. Site content licensed under the Creative Commons Attribution-Share Alike 3.0 License. ØMQ is copyright (c) Copyright (c) 2007-2012 iMatix Corporation and Contributors. ØMQ is free software licensed under the LGPL. ØMQ, ZeroMQ, and 0MQ are trademarks of iMatix Corporation. Terms of Use — Privacy
Policy
本文转自郝峰波博客园博客,原文链接:http://www.cnblogs.com/fengbohello/p/4288416.html,如需转载请自行联系原作者
ZeroMQ接口函数之 :zmq_proxy – 开始ZMQ内置代理相关推荐
- ZeroMQ接口函数之 :zmq_ipc – ZMQ本地进程间通信传输协议
ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html ----------------------------------- ...
- python的shutil模块是内置的_Python之shutil模块11个常用函数详解,python内置函数是什么...
Python之shutil模块11个常用函数详解,python内置函数是什么 shutil 是 Python 中的高级文件操作模块,与os模块形成互补的关系,os主要提供了文件或文件夹的新建.删除.查 ...
- python函数手册_python学习手册——内置函数(上)
内置函数 前面使用过一些函数,有的同学会疑问我没有导入这个函数,为什么可以直接使用? 因为这些函数都是一个叫做builtins模块中定义的函数,而builtins模块默认在Python环境启动的时候就 ...
- hog函数的用法 python_Python常见内置函数用法(三)
本文作者:孙雪丽 文字编辑:周聪聪 技术总编:张学人 重大通知!!!2019年6月22日至24日在河南郑州举行Stata编程技术特别训练营,招生工作已经圆满结束.另外爬虫俱乐部将于2019年7月5日至 ...
- sorted是python的内置函数吗_Python中的内置sorted()函数
我在一本书中看到了如何将特定的排序函数传递给Python的内置sorted()函数,如下所示:def mysort(a, b): if a[3] < b[3]: return -1 elif a ...
- python中如何查一个函数的用法_Python常见内置函数用法(三)
本文作者:孙雪丽 文字编辑:周聪聪 技术总编:张学人重大通知!!!2019年6月22日至24日在河南郑州举行Stata编程技术特别训练营,招生工作已经圆满结束.另外爬虫俱乐部将于2019年7月5日至7 ...
- python函数type的用意_Python内置函数Type()函数一个有趣的用法
Python内置函数Type()函数一个有趣的用法 今天在网上看到type的一段代码 ,然后查了一下文档,才知道type还有三个参数的用法. 以前只是知道type可以检测对象类型.然后发现了一个有趣的 ...
- sort函数pythonreverse_Python基础 7 ---- Python内置sort和sorted函数
1 Python对数据的排序有两种方法,一种是容器内置的sort函数,另外一种利用sorted函数 2 对于sort函数我们不再进行讨论,只要研究一下sorted函数 3 sorted函数的原形sor ...
- python内置的读取文件函数_Python函数篇(3)-内置函数、文件处理(已更新)
1.内置函数 上一篇文章中,我重点写了reduce.map.filter3个内置函数,在本篇章节中,会补充其他的一些常规内置函数,并重点写max,min函数,其他没有说明的函数,会在后面写到类和面向对 ...
- python常用内置函数总结-python常见的内置函数
函数分为自定义函数和内置函数 python内置函数分类: 一.强制转换 int() / str() / bool() / list() / tuple() / dict() / set() 二.输入输 ...
最新文章
- 智能边缘计算:计算模式的再次轮回
- Win10 + RTX3090 安装CUDA11.2 + CUDNN8.1.0 安装
- Asp.net网站的自动部署-sqlserver数据库的自动部署
- FPGA/CPLD按键硬件延时消除抖动的思路
- 安装Ruby和Rails运行环境
- OScached页面缓存的入门使用
- IT人必读:写给浮躁的IT同仁
- 开始使用Power BI桌面
- 匿名内部类为什么访问外部类局部变量必须是final的?
- vba模拟鼠标点击_网页自动输入录入用阿冲全能点击王轻松完成
- 『动态规划』最大子段和
- 最新电脑cpu性能排行服务器,至强cpu天梯图2020_intel服务器cpu排行榜2020
- 欧几里得几何(1)Alpha
- Day03_【数组、ArrayList】
- 汉语计算机语言,从计算机编程语言说汉语的比较优势
- 修改 vscode 中主题注释中文的斜体格式
- 2019/7/18ACM集训
- 作为一名视觉工程师该怎么学习?
- Oracle客户端安装INS-30131
- 居家洁士扫地机器人_如何避免买到“智障”扫地机器人,看这篇
热门文章
- paip.python错误解决24
- 十大旗舰基金是怎样炼成的(主动权益)
- 白话关于API与SDK的区别
- Rust: Atom中cargo build error
- 超算简史:练飞天之技,登峰一战后,终有落地日 | 凌云时刻
- 【优化配置】基于matlab遗传算法求解风电混合储能容量优化配置问题【含Matlab源码 228期】
- 【数字信号处理】基于matlab GUI正选信号时域+频域分析【含Matlab源码 887期】
- 【多目标优化求解】基于matlab粒子群算法求解智能微电网多目标优化问题【含Matlab源码 383期】
- .21f## c语言,C++核心准则编译边学-F.21 如果需要返回多个输出值,最好返回结构......
- html无节日为空,这个生死相拥的节日_311.Html