Linux下build和使用rabbitmq

  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:

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

事实上,./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 发数据。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

swap空间的增减方法

(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap

Linux下build和使用rabbitmq - HelloWorld