1、zmq_proxy(3)

1.1 名称

  zmq_proxy - 开始内置ZMQ代理

1.2 概要

  int zmq_proxy(const void * frontend,const void * backend,const void * capture);

1.3 描述

  zmq_proxy()函数在当前应用程序线程中启动内置的ZMQ代理。

  代理将前端套接字连接到后端套接字。从概念上讲,数据从前端流向后端。根据套接字类型的不同,回复可能会以相反的方向流动。方向只是概念上的;代理是完全对称的,前端和后端没有技术上的区别。

  在调用zmq_proxy()之前,您必须设置任何套接字选项,并连接或绑定前端和后端套接字。这两种传统的代理模式是:

  zmq_proxy()在当前线程中运行,并且仅在当前上下文关闭时返回。

  如果捕获套接字不是NULL,则代理应将在前端和后端收到的所有消息发送到捕获套接字。捕获套接字应该是ZMQ_PUB,ZMQ_DEALER,ZMQ_PUSH或ZMQ_PAIR套接字。

  有关可用套接字类型的说明,请参阅zmq_socket(3)。

1.4 用法示例

1.4.1 共享队列

  当前端是一个ZMQ_ROUTER套接字,并且后端是一个ZMQ_DEALER套接字时,代理服务器将作为一个共享队列来收集来自一组客户端的请求,并在一组服务中公平地分配这些请求。 请求应从前端连接公平排队并均匀分布在后端连接中。 回复将自动返回到发出原始请求的客户端。

1.4.2 转发

  当前端是一个ZMQ_XSUB套接字,并且后端是一个ZMQ_XPUB套接字时,该代理将作为一个消息转发器来收集来自一组发布者的消息,并将这些消息转发给一组订阅者。 这可以用来桥接网络传输,例如, 阅读tcp://并在pgm://上转发。

1.4.3 流

  当前端是ZMQ_PULL套接字,后端是ZMQ_PUSH套接字时,代理服务器应从一组客户端收集任务并使用管道模式将这些任务转发给一组工作人员。

1.4.4 返回值

  zmq_proxy()函数始终返回-1,并将errno设置为ETERM(与任一指定套接字关联的ZMQ上下文已终止)。

2、zmq_proxy_steerable()

2.1 名称

  zmq_proxy_steerable - 内置带控制流的ZMQ代理

2.2 概要

  int zmq_proxy_steerable(const void * frontend,const void * backend,const void * capture,const void * control);

2.3 描述

  zmq_proxy_steerable()函数在当前应用程序线程中启动内置的ZMQ代理,如zmq_proxy()所做的那样。请参阅此功能的一般说明和用法。我们在这里只描述由作为第四个参数“control”传递的套接字提供的附加控制流。

  如果控制套接字不是NULL,则代理支持控制流。如果在此套接字上收到PAUSE,代理将暂停其活动。如果收到RESUME,它会继续。如果接收到TERMINATE,它将顺利终止。在开始时,代理正常运行,就像使用zmq_proxy一样。

  如果控件套接字为NULL,则该函数的行为与调用zmq_proxy时的行为完全相同。

  有关可用套接字类型的说明,请参阅zmq_socket(3)。有关zmq_proxy的说明,请参阅zmq_proxy(3)。

2.4 用法示例

  比较zmq_proxy

2.5 返回值

  如果将TERMINATE发送到其控制套接字,则zmq_proxy_steerable()函数返回0。否则,它返回-1,并将errno设置为ETERM(与任一指定套接字关联的ZMQ上下文已终止)。

ZeroMQ API(六) 代理的更多相关文章

  1. ZeroMQ API(一) 总序

    序 zeromq是一个轻量级的消息库.它扩展了标准的套接字接口,其特性与传统的消息中间件不同,zeromq提供异步消息队列.多消息传递模式.消息过滤(订阅).无缝访问多个传输协议等的抽象. 本系列AP ...

  2. ZeroMQ API(三) 消息

    1.初始化消息 1.1 zmq_msg_init(3) 1.1.1 名称 zmq_msg_init - 初始化空的ZMQ消息 1.1.2 概要 int zmq_msg_init(zmq_msg_t * ...

  3. JS 设计模式六 -- 代理模式

    概念 为一个对象提供一个代用品或占位符,以便控制对它的访问. 当客户不方便直接访问一个对象的时候,需要提供一个替身对象来控制对这个对象的访问. 替身对象对请求做出一些处理之后, 再把请求转交给本体对象 ...

  4. Spring Boot 2.x 编写 RESTful API (六) 事务

    用Spring Boot编写RESTful API 学习笔记 Transactional 判定顺序 propagation isolation 脏读 不可重复读 幻读 不可重复读是指记录不同 (upd ...

  5. ZeroMQ API(七) 安全

    1.无安全性:zmq_null(7) 1.1 名称 zmq_null - 没有安全性或机密性 1.2 概要 NULL机制由ZMTP 3.0规范定义:http://rfc.zeromq.org/spec ...

  6. ZeroMQ API(五) 传输模式

    1.使用TCP的单播传输:zmq_tcp(7) 1.1 名称 zmq_tcp - 使用TCP的ZMQ单播传输 1.2 概要 TCP是一种无处不在,可靠的单播传输.当通过具有ZMQ的网络连接分布式应用程 ...

  7. ZeroMQ API(四) 套接字

    1.创建一个套接字 1.1 zmq_socket(3) 1.1.1 名称 zmq_socket - 创建ZMQ套接字 1.1.2 概要 void * zmq_socket(void * context ...

  8. ZeroMQ API(二) 上下文

    1.创建上下文 1.1 zmq_ctx_new(3) 1.1.1 名称 zmq_ctx_new - 创建新的ZMQ上下文 1.1.2 概要 void * zmq_ctx_new(); 1.1.3 描述 ...

  9. 天气预报API(六):中国气象频道、腾讯天气--“新编码”接口的测试

    说明 本文所有测试均以青岛为例. 本文所列接口城市代码(cityid)参数都使用的 "新编码": 全国城市代码列表(新) 本文接口均不是官方接口,仅供测试使用! 腾讯天气 空气质量 ...

随机推荐

  1. HDU 4026 Unlock the Cell Phone 状压dp(类似TSP)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4026 Unlock the Cell Phone Time Limit: 6000/3000 MS ...

  2. vue 过渡效果

    Vue中提供了`<transition>`和`<transition-group>`来为元素增加过渡动画.文档写的很清楚,但是实际使用起来还是费了一番功夫.这里做一个简单的记录 ...

  3. 四人小组:vip会员管理系统

    需求概述: 针对各类商铺百花齐放的现状,越来越多的商家考虑用各种方式招揽顾客,会员制度一向是吸引回头客的不二法宝.用户持有会员卡能够迅捷的购物,享有普通顾客更多的优惠或回馈.乃至新品推送.积分等一系列 ...

  4. HDU 1231 最大子序列

    http://acm.hdu.edu.cn/showproblem.php?pid=1231 Problem Description 给定K个整数的序列{ N1, N2, ..., NK },其任意连 ...

  5. Linux_Apache 安装

    1.下载依赖扩展 apr.apr-util.pcre(正则依赖) https://apr.apache.org/download.cgi#aprutil1 apr:http://mirrors.shu ...

  6. Ubantu下配置Sublime Text3---python环境的搭建

    因为学习机器学习算法的原因,买的参考书籍很多都是python语言进行开发的,因此也想着在Linux系统下配置python的环境.Sublime是一款非常流行的编辑器,可以添加很多小巧有用的插件,同时也 ...

  7. [BZOJ4556][Tjoi2016&Heoi2016]字符串 后缀数组+主席树

    4556: [Tjoi2016&Heoi2016]字符串 Time Limit: 20 Sec  Memory Limit: 128 MB Description 佳媛姐姐过生日的时候,她的小 ...

  8. mapreduce方式操作hbase

    一.导入数据到hbase 1.配置hbase-site.xml指向hdfs <configuration> <property> <name>hbase.rootd ...

  9. 前端学习 -- Css -- 伪元素

    :first-letter 表示第一个字符 :first-line 表示文字的第一行 :before 选中元素的最前边,一般该伪类都会结合content一起使用,通过content可以向指定位置添加内 ...

  10. 解题:USACO13NOV No Change

    题面 在朴素中透着一点新意的状压DP 一个很暴力的思路是枚举位置,状态和硬币,每次二分出向前最多能买到哪里,复杂度爆炸($O(2^knklog$ $n)$) 考虑优化,不妨先预处理一下$goal[i] ...