rabbitmq使用__php客户端(消息发送者)

<?php


$conn_args = array(
    'host' => 'localhost',
    'port' => '5672',
    'login' => 'guest',
    'password' => 'guest',
    'vhost'=>'/'
);
$e_name = 'test_ex'; //交换机名 
$q_name = 'test_queue'; //队列名 
$k_route = 'test'; //路由key 

//创建连接和channel 
$conn = new AMQPConnection($conn_args);
if (!$conn->connect()) {
    die("Cannot connect to the broker!\n");
}
$channel = new AMQPChannel($conn);


//消息内容 
$message = "TEST MESSAGE! 测试消息!";   
 
//创建交换机对象    
$ex = new AMQPExchange($channel);   
$ex->setName($e_name);   
 
//发送消息 
$channel->startTransaction(); //开始事务  
for($i=0; $i<5; ++$i){ 
    echo "Send Message:".$ex->publish($message, $k_route)."\n";  
} 
$channel->commitTransaction(); //提交事务 
 
$conn->disconnect();   
rabbitmq(MQ)全称为Message Queue, 消息队列是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。其中较为成熟的MQ产品有IBM WEBSPHERE MQ等等。<?php namespace PhpAmqpLib\Connection; class AMQPLazyConnection extends AMQPStreamConnection {     /**      * Gets socket from current connection      *      * @deprecated      */     public function getSocket()     {         $this->connect();         return parent::getSocket();     }     /**      * {@inheritdoc}      */     public function channel($channel_id = null)     {         $this->connect();         return parent::channel($channel_id);     }     /**      * @return null|\PhpAmqpLib\Wire\IO\AbstractIO      */     protected function getIO()     {         if (empty($this->io)) {             $this->connect();         }         return $this->io;     }     /**      * Should the connection be attempted during construction?      *      * @return bool      */     public function connectOnConstruct()     {         return false;     } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值