【问题标题】:ZeroMQ Request/Reply does not reply in one directionZeroMQ 请求/回复不单向回复
【发布时间】:2013-01-08 05:39:00
【问题描述】:

我使用 ZeroMQ 的 C 接口在几台机器之间分配计算。在本地,tcp://localhost:5555 一切正常。但是,当在两台机器 A 和 B 上运行客户端和服务器时,请求和回复仅在服务器在 A 上运行并且客户端在 B 上运行时才有效。如果反过来,则只有在 B 上接收到请求,并且A 上的客户端永远不会收到回复。

为了验证我是否正确设置了所有内容,我编译了 ZeroMQ 指南中的第一个 example,但存在同样的问题。

这种行为的原因可能是什么?

【问题讨论】:

    标签: c network-programming zeromq


    【解决方案1】:

    这个问题很可能是由两个不兼容的 0MQ 版本引起的。

    这是 0MQ v3.0.x、3.1.x、3.2.0、3.2.1 的一个已知问题。这些版本都使用了未记录的、不兼容的协议版本(没有版本号,因此很难互操作),最终在 3.2.2 稳定版中得到修复。如果您运行的是旧版本,并且这可能与您使用的语言绑定一起提供,请升级它。如果有严重的原因导致您无法升级,例如您有使用旧版本的野外客户,请在 zeromq-dev 列表上询问,有人可能会提供帮助。值得一提的是,该协议现在有了版本号,并且向后兼容之前的稳定版本(2.2 和 2.1)。

    【讨论】:

    • 顺便提一下,这个问题在FAQ上:zeromq.org/area:faq#toc6(我刚刚添加了关于request-reply的部分)
    • 感谢您的回答。我在所有机器上从源代码安装了 3.2.2,它工作正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    相关资源
    最近更新 更多