我有一个生产者nodejs
,我使用的 javascript 库是amqp.node,消费者是由C 库实现的。
从 rabbitmq 管理网站,我可以看到消息被推入队列并传递给消费者。但是,在消费者中,amqp_consume_message
return为 null。在这种情况下如何调试它?AMQP-RESPONSE-NORMAL
envelop.message.body
这是我使用来自rabbitmq的消息的代码
amqp_rpc_reply_t reply;
amqp_envelope_t envelope;
amqp_maybe_release_buffers(m_con);
timeval m_time;
m_time.tv_sec = dwMilliseconds/1000;
m_time.tv_usec = (dwMilliseconds%1000)*1000;
reply = amqp_consume_message(m_con, &envelope, &m_time, 0);//time out 1 second
if (AMQP_RESPONSE_NORMAL != reply.reply_type)
{
return false;
}
bool bRet = false;
amqp_bytes_t& rTheBody = envelope.message.body;
if (rTheBody.len > 0)
{
更新
经过进一步调查,我发现这些消息存储在envelop.message.pool.pages
. 我想要和之间的message.body
不同message.pool
?