php知识总结程序员

rabbit 消息推送

2020-01-09  本文已影响0人  响呼雷

1.首先需要安装PHP使用的RabbitMQ 包:php-amqplib

composer require php-amqplib/php-amqplib

2.引入stomp.js,官方地址:https://www.bootcdn.cn/stomp.js/

<script src="https://cdn.bootcss.com/stomp.js/2.3.3/stomp.js"></script>

3.上代码

server.php

require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPStreamConnection;             //引入队列流连接类

//连接主机
$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');

//建立通道
$channel = $connection->channel();

//创建队列
$channel->queue_declare('hello', false, false, false, false);


//闭包回调函数
$callback = function ($msg) {
    print_r($msg);
};

//消费队列消息
$channel->basic_consume('hello', '', false, true, false, false, $callback);


//等待消息
while ($channel->is_consuming()) {
    $channel->wait();
}

client.php

require_once __DIR__.'/vendor/autoload.php';

//连接主机
$connection = new \PhpAmqpLib\Connection\AMQPStreamConnection('127.0.0.1', 5672, 'guest', 'guest');

//建立通道
$channel = $connection->channel();

//建立队列
$channel->queue_declare('hello', false, false, false, false);

//准备消息
$msg = new \PhpAmqpLib\Message\AMQPMessage('hello,我要发送的消息内容~~~'.time());

//公布消息
$channel->basic_publish($msg, '', 'hello');

//关闭通道
$channel->close();

//关闭链接
$connection->close();
上一篇 下一篇

猜你喜欢

热点阅读