【问题标题】:ZMQ Produces EAGAIN on Publisher SocketZMQ 在 Publisher Socket 上产生 EAGAIN
【发布时间】:2014-12-14 21:30:04
【问题描述】:

我制作了一个简单的 C++ 程序来开始使用 0MQ。我有两个应用程序:服务器(带有绑定 publisher 套接字)和客户端(带有连接 subscriber)套接字。服务器程序是从远程机器上拉取并运行的——我们称之为 example.com。

当服务器发送一个带有无标志的简单字符串消息时,ZMQ 正在生成一个EAGAIN。我通过查看我正在使用的 ZMQ CPP 绑定知道这一点;仅当引发此错误时,socket_t::send() 函数才返回 false。我没有使用返回整数的函数,我确定返回值为 boolean false。

当客户端运行并连接时,该功能仍然存在。这台机器的所有传入和传出端口都打开了。

为什么 ZMQ 会产生这个错误?特别是,EAGAIN 应该只在非阻塞模式下被提升,但我特别从不要求这种模式。这是发布者套接字的功能吗?

【问题讨论】:

    标签: c++ zeromq


    【解决方案1】:

    PUB 套接字在发送消息时永远不会阻塞。请参阅socket reference 这意味着如果无法发送消息,您将收到 EAGAIN。我猜没有任何连接的订阅者。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 2017-05-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多