• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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; $i3; $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实现通过stomp协议连接ActiveMQ操作示例
    • php ActiveMQ的安装与使用方法图文教程
    • PHP使用ActiveMQ实现消息队列的方法详解
    • PHP Beanstalkd消息队列的安装与使用方法实例详解
    • PHP高级编程之消息队列原理与实现方法详解
    • php+redis实现消息队列功能示例
    • PHP+RabbitMQ实现消息队列的完整代码
    • 使用PHP访问RabbitMQ消息队列的方法示例
    • php实现websocket实时消息推送
    • php 使用ActiveMQ发送消息,与处理消息操作示例
    上一篇:详解PHP中mb_strpos的使用
    下一篇:实例讲解PHP页面静态化
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PHP使用ActiveMQ实例 PHP,使用,ActiveMQ,实例,PHP,