RabbitMQ客户端C++安装详细记录

使用

<?php
//配置信息
$conn_args = array(
    'host' => '127.0.0.1',
    'port' => '5672',
    'login' => 'guest',
    'password' => 'guest',
    'vhost'=>'/'
);
//创建连接
$conn = new AMQPConnection($conn_args);
if (!$conn->connect()) {
    die('Not connected  ' . PHP_EOL);
}
// Open Channel
$channel = new AMQPChannel($conn);
// Declare exchange
$exchange = new AMQPExchange($channel);
$exchange->setName('extest');
$exchange->setType('fanout');
$exchange->declare();
// Create Queue
$queue = new AMQPQueue($channel);
$queue->setName('qutest');
$queue->declare();
// Bind it on the exchange to routing.key
$exchange->bind('qutest', 'routing.key');
$data = array(
    'Name' => 'foobar',
    'Args'  => array("0", "1", "2", "3"),
);
//生产者,向RabbitMQ发送消息
$message = $exchange->publish(json_encode($data), 'key');
if (!$message) {
    echo 'Message not sent', PHP_EOL;
} else {
    echo 'Message sent!', PHP_EOL;
}
//消费者
while ($envelope = $queue->get(AMQP_AUTOACK)) {
    echo ($envelope->isRedelivery()) ? 'Redelivery' : 'New Message';
    echo PHP_EOL;
    echo $envelope->getBody(), PHP_EOL;
}
?>

c客户端环境安装 1. 下载 rabbitmq-c 源码包 http://hg.rabbitmq.com/rabbitmq-c/ 2. 下载 rabbitmq-codegen 源码包 http://hg.rabbitmq.com/rabbitmq-codegen/ 3. 将rabbitmq-codegen拷贝到rabbitmq-c的目录下,改名为codegen 4. macro `AM_PROG_LIBTOOL’ not found in library 解决方案  产生这个报错的原因有两种,一种是没有安装libtool,一种是安装了libtool但是aclocal和libtool未安装在同一文件夹下。 5. 执行 autoreconf -i 6. 安装python的json包或simplejson包 7. 修改configure文件,屏蔽python检查部分,大约在20174-20198行。里面有语法错误。这个主要是检查第三步的那两个python包有没有安装,如下注释掉即可。

[python]

  1. #checkPython python   
  2. #checkPython python2.6   
  3. #checkPython python2.5   
  4. #if test “$found_python” = “no”   
  5. #then   
  6. #  { { echo “$as_me:$LINENO: error: could not find a python that can ‘import simplejson'” >&5
      
  7. #echo “$as_me: error: could not find a python that can ‘import simplejson'” >&2;}
      
  8. #   { (exit 1); exit 1; }; }   
  9. #fi   

安装librabbitmq-c和rabbitmq-codegen

# 下载0-9-1版的rabbitmq-c
git clone git://github.com/alanxz/rabbitmq-c.git
cd rabbitmq-c
# Enable and update the codegen git submodule
git submodule init
git submodule update
# Configure, compile and install
autoreconf -i && ./configure && make && sudo make install

解决方法:

[python]

  1. $ libtoolize –force  
  2. $ aclocal  
  3. $ autoheader  
  4. $ automake –force-missing –add-missing  
  5. $ autoconf  
  6. $ ./configure  
  7.   

  8. 进入librabbitmq目录,修改Makefile,
    www.linuxidc.com
    将PYTHON变量的内容改成自己用的版本,原来的是空,大约在150行

[html]

  1. PYTHON = python2.6 

10. make, make check, make
install

11.安装成功后,查看readme里面的内容,有可执行的例子:

[澳门新葡亰网址,python]

  1. ./examples/amqp_listen localhost 5672 amq.direct test  

amqp_listen为监听程序

localhost : rabbitmq服务host           
5672 : 服务开放端口

[python]

  1. ./examples/amqp_sendstring localhost 5672 amq.direct test “hello world”  

amqp_sendstring为发送程序

本文介绍了在Linux下给PHP安装amqp扩展的过程,有需要的朋友可以关注一下。

5.make 6.copy the libamqpcpp.a to /usr/local/lib or other system library dir.   copy the libamqpcpp.so to /usr/local/lib or other system library dir. 7.export LD_LIBRARY_PATH=”:/usr/local/lib”

澳门新葡亰网址 1

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图