Linux下build和使用rabbitmq-c

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 on localhost at 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 發數據。

相關文章
相關標籤/搜索