接受端仅收消息 zmq用什么模式
时间: 2024-03-05 10:53:05 浏览: 114
如果你仅需要收取 ZeroMQ 发布者发送的消息,而不需要订阅特定的主题,那么使用 ZMQ_PULL 套接字类型是比较合适的,可以实现一个简单的消息队列。
以下是一个使用 ZMQ_PULL 套接字类型实现的 ZeroMQ 消息队列 C++ 示例代码:
```cpp
#include <zmq.hpp>
#include <string>
#include <iostream>
int main () {
zmq::context_t context(1);
zmq::socket_t receiver(context, ZMQ_PULL); // 创建一个 ZMQ_PULL 套接字
receiver.bind("tcp://*:5555"); // 绑定到本地地址,端口为5555
while (true) {
zmq::message_t zmq_message;
receiver.recv(&zmq_message); // 接收消息
std::string message(static_cast<char*>(zmq_message.data()), zmq_message.size());
std::cout << "Received message: " << message << std::endl;
}
return 0;
}
```
在上述代码中,使用 ZMQ_PULL 套接字类型创建了一个消息队列。当发布者发送一条消息时,该消息将被添加到消息队列中,然后使用 ZMQ_PULL 套接字类型的接收者将其从队列中取出并打印到控制台上。
阅读全文