zmq_send() 在哪里发送多个连接?
Where does zmq_send() send with multiple connections?
假设我有 ZMQ_PUSH
套接字,连接到多个对等点,我使用 zmq_send()
通过这些套接字发送内容。
我现在正在寻找几个小时,但在 ZMQ 文档中找不到我的消息将发送到哪里。
合理的假设是,它会被发送到所有连接的对等点,但他们说正在使用循环算法,这让我有点困惑。这是否意味着我应该在有连接的情况下多次发送相同的消息?
Q : "Where does zmq_send()
send with multiple connections?"
它确实会根据实际使用的原型发送消息。
PUB/SUB
将每条消息发送给所有积极订阅主题的对等点(左侧,负载的二进制匹配为字符串),而一些v3 之前版本中的内部细节实际上将任何消息物理地移动到所有对等点(并且 SUB
-side Context()
-instances,一种 ALAP,执行了主题过滤 ), 自 v3+.
之后就不是这样了
PUSH/PULL
没有这个 "promise",所以最好把 PUSH
端想象成一个作业队列指挥官,并且每个PULL
端工作人员从作业队列接收(在这里以循环方式)下一个任务,就像负载平衡器一样。
彼此的内置原型 - REQ/REP
, XPUB/XSUB
, DEALER/ROUTER
, PAIR/PAIR
, ... - 有一个类似的公式 "promised-behaviour", 所以 ZeroMQ 服务可以建立在结合这些messaging/signalling 应用程序将琐碎的原型转化为一些更复杂和结构化的组行为。
Q : "The reasonable assumption is, that it will be sent to all connected peers"
如果是这样,PUSH/PULL
"promised-behaviour" 的密钥 属性 就会丢失,这与 PUB/SUB
原型没有区别(开发两个做同样事情的东西更没有意义,不是吗?)
如果你从未使用过 ZeroMQ,
你可能会喜欢先看看
,然后再深入了解更多细节
假设我有 ZMQ_PUSH
套接字,连接到多个对等点,我使用 zmq_send()
通过这些套接字发送内容。
我现在正在寻找几个小时,但在 ZMQ 文档中找不到我的消息将发送到哪里。
合理的假设是,它会被发送到所有连接的对等点,但他们说正在使用循环算法,这让我有点困惑。这是否意味着我应该在有连接的情况下多次发送相同的消息?
Q : "Where does
zmq_send()
send with multiple connections?"
它确实会根据实际使用的原型发送消息。
PUB/SUB
将每条消息发送给所有积极订阅主题的对等点(左侧,负载的二进制匹配为字符串),而一些v3 之前版本中的内部细节实际上将任何消息物理地移动到所有对等点(并且 SUB
-side Context()
-instances,一种 ALAP,执行了主题过滤 ), 自 v3+.
PUSH/PULL
没有这个 "promise",所以最好把 PUSH
端想象成一个作业队列指挥官,并且每个PULL
端工作人员从作业队列接收(在这里以循环方式)下一个任务,就像负载平衡器一样。
彼此的内置原型 - REQ/REP
, XPUB/XSUB
, DEALER/ROUTER
, PAIR/PAIR
, ... - 有一个类似的公式 "promised-behaviour", 所以 ZeroMQ 服务可以建立在结合这些messaging/signalling 应用程序将琐碎的原型转化为一些更复杂和结构化的组行为。
Q : "The reasonable assumption is, that it will be sent to all connected peers"
如果是这样,PUSH/PULL
"promised-behaviour" 的密钥 属性 就会丢失,这与 PUB/SUB
原型没有区别(开发两个做同样事情的东西更没有意义,不是吗?)
如果你从未使用过 ZeroMQ,
你可能会喜欢先看看
,然后再深入了解更多细节