我正在使用rabbitmq-c库连接到RabbitMQ服务器(GNU/Linux构建环境)。Rabbitmq-c库:如何获得经纪人返回的'方法'
在我使用“amqp_channel_open(...)”时,我从我想调试的服务器收到错误。
根据示例,我称之为“amqp_get_rpc_reply(...)”。它返回一个amqp_rpc_reply_t,我将其分配给一个变量“my_reply”。
my_reply.reply_type是AMQP_RESPONSE_SERVER_EXCEPTION,这就是为什么我认为这是来自服务器的错误。
然而,here are the docs为amqp_rpc_reply_t类型。
对于my_reply.reply:“在AMQP_RESPONSE_SERVER_EXCEPTION的情况下,本场将被设置为的方法,从经纪人返回”
所以my_reply.reply是amqp_method_t在这种情况下。但是当我查看amqp_method_t的文档时,它有两个字段:id(“method id number”,??)和解码为。
对于解码,这是一个无效*: “指针解码的方法,转换为相应的类型使用”
我停留在这一点上,因为我不知道该怎么将**解码为*。它应该是某种包含由服务器返回的信息(AMQP方法)的数据结构,但是我找不到我应该将其转换为什么类型的任何参考。
[为清晰起见]