【问题标题】:Using polling with pub/sub + req/rep in zeromq在 zeromq 中使用 pub/sub + req/rep 轮询
【发布时间】:2013-07-13 18:55:20
【问题描述】:

我在我的项目中使用 zeromq 中的不同模式,现在我正在使用 req/rep(稍后将转移到经销商/路由器)和 pub/sub 。客户端向服务器发送消息,服务器将此信息发布给已订阅的其他客户端。

要使用多个套接字,我遵循了此线程上的建议 Combining pub/sub with req/rep in zeromq 并使用了 zmq_poll 。我的服务器轮询 req socket 和 pub socket。

在编写代码和阅读上面的帖子时,我猜想我的 pub 套接字永远不会被轮询,这就是我现在在运行程序时观察到的。只有我的请求被轮询并且发布根本没有发生。 如果我不使用轮询,它可以正常工作,即一旦服务器收到消息,我就会发布它。 所以我不清楚轮询在这种模式中将如何有用以及如何使用它?

【问题讨论】:

    标签: zeromq


    【解决方案1】:

    您可能不需要轮询 pub 套接字。您当然不需要对其进行轮询 in - 因为这永远不会被触发(pub 套接字仅发送)。

    如果您想在 req 和 pub 套接字上轮询“准备发送”,轮询模式可能很有用,允许您多路复用这些通道。如果/当您转而使用经销商/路由器时,这将特别有用。

    这样做的原因是,将 req 替换为经销商(例如)可以让您在收到响应之前发送多条消息。轮询入站和出站消息将使您能够最大限度地利用这一点。

    【讨论】:

    • 好的,有道理。非常感谢
    猜你喜欢
    • 2016-11-17
    • 2014-01-03
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    • 2017-02-13
    • 2020-07-17
    • 2013-06-07
    • 2014-10-11
    相关资源
    最近更新 更多