PHP如何使用ActiveMQ
程序员文章站
2022-03-11 17:18:48
...
本文主要和大家分享关于PHP使用ActiveMQ的实例,我们分享了实例代码,并做了相关要点的解释,需要的朋友参考下吧。希望能帮助到大家。
使用点对点(Point To Point)模型
点对点模型特点:
只有一个消费者可以接收到消息
不能重复消费
生产者producer.php代码:
<?php try { // 1.建立连接 $stomp = new Stomp('tcp://47.52.119.21:61613'); // 2.实例化类 $obj = new Stdclass(); // 3.获取数据 for($i=0; $i<3; $i++){ $obj->username = 'test'; $obj->password = '123456'; $queneName = "/queue/userReg"; // 4.发送一个注册消息到队列 $stomp->send($queneName, json_encode($obj)); } } catch (StompException $e) { die('Connection failed: ' . $e->getMessage()); }
消费者1consumer1.php代码:
<?php $stomp = new Stomp('tcp://localhost:61613'); $stomp->subscribe('/queue/userReg'); while (true) { //判断是否有读取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); } }
消费者2consumer2.php代码:
<?php $stomp = new Stomp('tcp://localhost:61613'); $stomp->subscribe('/queue/userReg'); while (true) { //判断是否有读取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); } }
执行结果图如下:
使用发布/订阅(Publish Subscribe)模型
发布/订阅模型特点:
多个消费者都可以收到消息
能重复消费
生产者producer.php代码:
<?php try { // 1.建立连接 $stomp = new Stomp('tcp://47.52.119.21:61613'); // 2.实例化类 $obj = new Stdclass(); // 3.获取数据 for($i = 0; $i < 3; $i++){ $obj->username = 'test'; $obj->password = '123456'; $queneName = "/topic/userReg"; // 4.发送一个注册消息到队列 $stomp->send($queneName, json_encode($obj)); } } catch (StompException $e) { die('Connection failed: ' . $e->getMessage()); }
消费者1consumer1.php代码:
<?php $stomp = new Stomp('tcp://localhost:61613'); $stomp->subscribe('/topic/userReg'); while (true) { //判断是否有读取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); } }
消费者2consumer2.php代码:
?php $stomp = new Stomp('tcp://localhost:61613'); $stomp->subscribe('/topic/userReg'); while (true) { //判断是否有读取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); } }
执行结果图如下:
相关推荐:
以上就是PHP如何使用ActiveMQ的详细内容,更多请关注其它相关文章!
推荐阅读
-
php中的路径问题与set_include_path使用介绍
-
[PHP]如何在百度(BAE)和新浪(SAE)的云平台使用PHP连接MySQL并返
-
PHP读取PDF内容(LINUX下XPDF的配置和使用)_PHP教程
-
php升级 - 正在运行中的服务器,如何平滑从php5.2升级到php5.3 ,linux+php-fpm+nginx
-
PHP中使用正则表达式提取中文实现笔记,
-
php微信投票数如何显示的问题?
-
使用xdebug调试PHP 找出PHP程序的瓶颈
-
啪啪影音播放器如何使用?啪啪影音使用教程详解
-
php如何一次性处理多个从表单处理的值,并且之间用“||”做分隔符?
-
使用php 获取时间今天明天昨天时间戳的详解_PHP教程