我已经制作了一个简单的C ++程序来开始使用0MQ。我有两个应用程序:一个服务器(带有绑定发布者套接字)和一个客户端(带有连接订阅者)套接字。服务器程序从远程计算机中拉出并运行 - 我们称之为example.com。
当服务器发送带有无标志的简单字符串消息时,ZMQ正在生成 EAGAIN 。通过查看我正在使用的ZMQ CPP绑定,我知道这一点;仅当引发此错误时,socket_t :: send()函数才返回false。我没有使用返回整数的函数,我确定返回值是布尔值假。
当客户端运行并连接时,该功能仍然存在。机器打开所有传入和传出端口。
为什么ZMQ会产生此错误?特别是,EAGAIN只应在非阻塞模式下引发,但我特别从不要求这种模式。这是发布者套接字的功能吗?