码迷,mamicode.com
首页 > 其他好文 > 详细

RabbitMQ第六课 例子说明

时间:2018-07-25 18:17:35      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:其他   localhost   key   tin   soc   需要   serve   response   success   

RabbitMQ Web管理端口是15672


RabbitMQ example例子中默认连接端口是5672。
第一次启动example,测试连接服务器,端口填写错误,连接失败,返回 connection closed unexpectedly

die_on_amqp_error(amqp_login(conn, "/", 0, 131072, 0, AMQP_SASL_METHOD_PLAIN,"guest", "guest")
使用用户名guest ,密码guest。登陆出现如下的错误:User can only log in via localhost
默认情况下guest是无法发送数据的,必须进行修改


amqp_consumer和amqp_producer例子中并没有指定交换机的类型,说明当前交换机的创建权力交给其他的创建者在这里,并没有并没有指定队列名称,而是通过指定routing_key,来关联相应的队列名。匹配的方式根据交换机的类型来确定

amqp_consume_message函数执行的返回值保存在amqp_rpc_reply_t ret;

/**
 * Response type
 *
 * \since v0.1
 */

typedef enum amqp_response_type_enum_
{
  AMQP_RESPONSE_NONE = 0, /**< the library got an EOF from the socket */
 
AMQP_RESPONSE_NORMAL, /**< response normal, the RPC completed successfully */
 
AMQP_RESPONSE_LIBRARY_EXCEPTION, /**< library error, an error occurred in the
  library, examine the library_error */
 
AMQP_RESPONSE_SERVER_EXCEPTION   /**< server exception, the broker returned an
  error, check replay */
} amqp_response_type_enum;
默认情况下ret.reply_type等于AMQP_RESPONSE_NORMAL说明回复正常,RPC正确执行。AMQP_RESPONSE_LIBRARY_EXCEPTION说明在函数
调用过程中返回结果异常(并不是说编译的库出现问题,而是在跟服务器通信的时候,遇到其他的异常,例如接收超时,例如连接断开等等)

例如,当接收超时的时候ret.library_error的返回值是-13,操作超时
  AMQP_STATUS_TIMEOUT = -0x000D,                    /**< Operation timed out */

 AMQP_STATUS_SOCKET_ERROR = -0x0009,               /**< A socket error
 occurred */
当跟服务器断开连接的时候,会返回-9错误码,在例子中并没有处理这种异常情况,实际上需要进行重连


RabbitMQ第六课 例子说明

标签:其他   localhost   key   tin   soc   需要   serve   response   success   

原文地址:http://blog.51cto.com/fengyuzaitu/2150126

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!