1) 按照这里介绍的方法,先安装CMake
2) 在这里找到下载link,下载rabbitmq-c的包
3) 解压,进入解压后的目录 git
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库的,注意,不要漏掉结尾的点 '.' github
完成后,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 可执行文件。 c#
这里有rabbitmq-c的example使用说明,和使用librabbitmq的简单说明。 socket
关于amqp_open_socket Connection refused的错误提示 ui
缘由在于,使用说明中提到这样一句: spa
Arrange for a RabbitMQ or other AMQP server to be running onlocalhostat TCP port number 5672. .net
即,在运行example以前,要起Rabbitmq服务,监听在 localhost的5672端口,而后下面的操做才能正常工做。不然,会遇到错误提示 “Opening socket: Connection refused” code
In one terminal, run server
./examples/amqp_listen localhost 5672 amq.direct test
In another terminal, blog
./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 发数据。