php rabbitmq发送端,发送消息。

<?php

require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;

$exchange = '';    // 默认交换器
$queue = 'kaaloo';
$routing_key = 'hello';

// 连接RabbitMQ服务器
$connection = new AMQPStreamConnection('192.168.1.7', 5672, 'admin', '123456', '/');
$channel = $connection->channel();

// 声明一个队列
// QUEUE_NAME 队列名
// PASSIVE 检测队列是否存在,ture 只检测不创建, false 创建
// DURABLE 是否持久化队列,true为持久化
// EXCLUSIVE 是否设置成私有队列,限制其他用户访问,设置true将会变成私有
// AUTO_DELETE 队列绑定的全部消费链接断开后,是否自动删除队列
//$channel->queue_declare(QUEUE_NAME, PASSIVE, DURABLE, EXCLUSIVE, AUTO_DELETE);
$channel->queue_declare($queue, false, false, false, false);

// 定义消息,消息体为hello world
// $data 消息体
$body = 'Hello World!';
// $body 消息体
// $arr 消息属性 投递模式 delivery mode 设置为 2 标记持久化
// $msg = new AMQPMessage($body, $arr);
$msg = new AMQPMessage($body, array('content_type' => 'text/plain', 'delivery_mode' => AMQPMessage::DELIVERY_MODE_PERSISTENT));

// 发送消息到交换器,交换器为默认交换器(空交换器),路由键为$routing_key
// $message 消息内容
// $exchange  交换器名称
// routing_key   路由键 (routing key)  主题交换机会用到
//$channel->basic_publish($msg, $exchange, $routing_key);
$channel->basic_publish($message, $exchange, $routing_key);

echo " [x] Sent 'Hello World!'\n";

// 关闭信道
$channel->close();
//关闭 amqp 连接
$connection->close();
点赞(1) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部