我在Linux上使用ZMQ 3,我无法理解代码的行为。我有两个应用程序与ZMQ的IPC连接。客户端生成REQ套接字并连接到它,服务器生成ROUTER套接字并绑定到它。然后客户端将消息发送到REQ套接字。根据ZMQ指南,ROUTER应该收到3条消息(标识,空,内容),但实际上它会收到4条消息(2帧身份,空白和内容)。我已经阅读了ZMQ指南和ROUTER套接字代码,我仍然不明白为什么会有这个奇怪的多部分身份消息。这是我的代码的一部分:pastebin.com/MWySYm2C
答案 0 :(得分:1)
您无法准确说出您在客户端和服务器上使用的zmq版本。早期的v3版本之间存在已知的不兼容性,但是IIRC v3.2有很多工作要使线路协议稳定(类似的不兼容性不应该与其他版本一起发生)。是的,文档是正确的,你应该看到REQ的3帧。
FWIW。我建议切换使用CZMQ绑定,因为API比原始zmq更容易使用。