【发布时间】:2018-10-20 19:00:42
【问题描述】:
我正在使用SimpleAmqpClient,这是一个与 RabbitMQ 代理一起使用的 C++ 库。我可以发送和接收字符串,即“hello world”。这是执行此操作的program。
#include <stdlib.h>
#include <stdio.h>
#include <SimpleAmqpClient/SimpleAmqpClient.h>
#include <iostream>
#include "SimplePublisher.h"
using namespace AmqpClient;
using namespace std;
int main()
{
char *szBroker = getenv("AMQP_BROKER");
Channel::ptr_t channel;
if (szBroker != NULL)
channel = Channel::Create(szBroker);
else
channel = Channel::Create("192.168.66.1", 5672);
string a="hello world";
// SimplePublisher pub(channel);
boost::shared_ptr<SimplePublisher> pub=SimplePublisher::Create(channel, "wt");
pub->Publish(a);
}
它调用第一个接受字符串的函数。
void SimplePublisher::Publish(const std::string &message)
{
BasicMessage::ptr_t outgoing_message = BasicMessage::Create();
outgoing_message->Body(message);
Publish(outgoing_message);
}
void SimplePublisher::Publish(const BasicMessage::ptr_t message)
{
m_channel->BasicPublish(m_publisherExchange, "", message);
}
我想将 JPEG 图像写入不是字符串的队列。
有人可以评论我将如何做到这一点吗?
【问题讨论】:
标签: c++ boost rabbitmq shared-ptr