我有一个本地{@ {1}}下运行的RabbitMQ服务器。我在那里建立了一个交易所。在依赖rabbitmq-c库的客户端下,我创建了一个队列和路由键,以便订阅预定义的交换。
http://localhost:15672/
在通过客户端创建到服务器的TCP连接之后,我看到了连接,在服务器中创建了队列和绑定。如果我从服务器发布消息,例如:
// Create queue
{
amqp_queue_declare_ok_t *r= amqp_queue_declare(conn, 1, amqp_empty_bytes, 0, 1, 1, 1, amqp_empty_table);
die_on_amqp_error(amqp_get_rpc_reply(conn), "Declaring queue");
positionQueue = amqp_bytes_malloc_dup(r->queue);
if(positionQueue .bytes== NULL)
{
fprintf(stderr, "Out of memory while copying queue name");
return 1;
}
std::cout<< "Queue for position is created!"<< std::endl;
}
// Binding the exchange to the position queue
amqp_queue_bind(conn, 1, positionQueue, amqp_cstring_bytes(positionExchange), amqp_cstring_bytes(positionRoutingKey), amqp_empty_table);
die_on_amqp_error(amqp_get_rpc_reply(conn), "Binding queue");
// Receive message
amqp_basic_consume(conn, 1, positionQueue, amqp_empty_bytes, 0, 1, 0, amqp_empty_table);
.
.
.
然后我收到以下格式的消息:
我的问题是,如何将基于键和值的消息保存到变量中?