Linux下build和使用rabbitmq-c

1) 按照这里介绍的方法,先安装CMake
2) 在这里找到下载link,下载rabbitmq-c的包
3) 解压,进入解压后的目录

4) mkdir build && cd build # 这一步是在rabbitmq-c的根目录下创建一个build子目录
5) cmake .. # 这一步是让cmake根据../CMakeList.txt,即rabbitmq-c的根目录下的CMakeList.txt创建Makefile文件,Makefile文件会被创建到build目录中
6) cmake --build . # 这一步是真正的build rabbitmq-c库的,注意,不要漏掉结尾的点 '.'

完成后,build目录下会出现librabbitmq、examples 和 tests 子目录。其中librabbitmq中包含生成的librabbitmq.so等文件;examples中包含amqp_bind、amqp_consumer、amqp_exchange_declare、amqp_listen、amqp_listenq、amqp_producer、amqp_rpc_sendstring_client、amqp_sendstring 和 amqp_unbind 可执行文件。

这里有rabbitmq-c的example使用说明,和使用librabbitmq的简单说明。


关于amqp_open_socket Connection refused的错误提示


原因在于,使用说明中提到这样一句:

Arrange for a RabbitMQ or other AMQP server to be running on localhost at TCP port number 5672.

即,在运行example之前,要起Rabbitmq服务,监听在 localhost的5672端口,然后下面的操作才能正常工作。否则,会遇到错误提示 “Opening socket: Connection refused

In one terminal, run

./examples/amqp_listen localhost 5672 amq.direct test

In another terminal,

./examples/amqp_sendstring localhost 5672 amq.direct test "hello world"

You should see output similar to the following in the listener's terminal window:

Result 1
Frame type 1, channel 1
Method AMQP_BASIC_DELIVER_METHOD
Delivery 1, exchange amq.direct routingkey test
Content-type: text/plain
----
00000000: 68 65 6C 6C 6F 20 77 6F : 72 6C 64                 hello world
0000000B:

事实上,./examples/amqp_listen localhost 5672 amq.direct test 并不是真正起一个rabbitmq的服务,并监听在localhost:5672,而是模拟真正的rabbitmq server:如果在5672端口收到正确的数据,则打印相应的信息。其实这个模拟的server可以不用起,./examples/amqp_sendstring localhost 5672 amq.direct test "hello world" 也可以成功往 localhost:5672 发数据。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值