RabbitMQ第五课 使用技巧
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ第五课 使用技巧相关的知识,希望对你有一定的参考价值。
1) C++ 获取消息数据
amqp_rpc_reply_t ret;
timeval tvTimeout;
tvTimeout.tv_sec = 1;
tvTimeout.tv_usec = 0;
ret = amqp_consume_message(conn, &envelope, &valTimeOut, 0);
if (AMQP_RESPONSE_NORMAL == ret.reply_type)
{
std::string strAMQPMsg((char*)envelope.message.body.bytes, envelope.message.body.len);
}
误区: std::string strAMQPMsg = char*)envelope.message.body.bytes 存在多余的数据
误区: 没有设置接收超时,而是直接传递NULL,导致函数进入死循环
2)发送消息的时候,返回错误信息:AMQP_STATUS_SOCKET_ERROR
AMQP_STATUS_SOCKET_ERROR = -0x0009, /**< A socket error occurred */
需要跟服务器Broker重新建立连接
3)确认数据是否已经发送成功
关于消费者就不用代码来获取消息了,直接在RabbitMQ Management点击某个队列的名字,然后Get Message(s) 即可获取消息内容
以上是关于RabbitMQ第五课 使用技巧的主要内容,如果未能解决你的问题,请参考以下文章