我试图让ZeroMQ示例Paranoid Pirate和Majordomo在C ++中工作。该代码可在GitHub ZeroMQ examples C++ Source Code获得。
两个示例都包含REQ到ROUTER连接(以及其他连接),客户端程序通过该连接与消息队列(Paranoid Pirate)或消息代理(Majordomo)进行通信。在这两个示例模式中,我无法在REQ和ROUTER套接字之间建立通信。
我使用Visual C ++和ZeroMQ-3.2.3在Windows 7 64位上编译和运行Paranoid Pirate,并使用g ++和ZeroMQ-4.0.4在Debian(Wheezy)32位上编译和运行Paranoid Pirate。我还在Debian系统上编译和运行Majordomo。
我认为建立REQ-ROUTER通信和/或轮询存在一些基本问题。在两个示例模式中,客户端都没有正确通信;但是,当我尝试从示例中学习ZeroMQ网络时,它正在进行测试以同时调试它们。
我发现示例代码中的超时设置存在一些问题,例如,2500毫秒的超时时间乘以1000,超时为2500 SECONDS;在观察控制台输出时,它看起来没有任何外观,但实际上它只是一个漫长的等待。
有谁知道如何让Paranoid Pirate和Majordomo模式在C ++中按预期运行?