用c++编写RabbitMQ的使用示例
时间: 2024-09-11 21:19:01 浏览: 47
在C++中使用RabbitMQ,通常会依赖于第三方库如`stomp-cpp`或者`rabbitmq-cpp-client`,因为RabbitMQ本身是基于AMQP协议的,其官方提供的C++客户端API并不直接支持。下面是一个简单的使用`rabbitmq-cpp-client`创建连接、发布消息和接收消息的基本示例:
```cpp
#include <rabbitmq/rabbitmq.hpp>
// 创建RabbitMQ客户端
std::shared_ptr<RabbitMQ> rabbitmq = RabbitMQ::create("amqp://guest:guest@localhost:5672");
// 连接到队列
std::string queue_name = "my_queue";
auto channel = rabbitmq->connect(queue_name);
// 声明队列(如果不存在)
channel->queue_declare(queue_name, true, false, false, nullptr);
// 准备发送的消息
std::string message = "Hello, RabbitMQ!";
auto delivery_tag = channel->basic_publish("", queue_name, message);
// 等待并获取响应(这里只是一个简化版,实际应用需要处理确认机制)
std::string response;
channel->wait_for.Consume(queue_name, std::move(response), DeliveryCallback());
// 关闭连接
rabbitmq->close();
```
注意,这仅是一个基础示例,实际生产环境中你需要处理异常,管理连接断开等场景,并且通常会在异步模式下操作,比如通过回调函数或事件驱动的方式。
阅读全文