HelloWorld

前言


这里我们弱化broker内部构造。将整体分为三部分。

P:producer。生产者。

C:Consumer。消费者。

queue:队列。

后面的代码都依赖于 the php-amqplib API

composer安装php-amqplib


1. 新建composer.json

{"require": {"php-amqplib/php-amqplib": ">=2.6.1"}
}

2. composer.phar install

Hello World


talk is cheap , show you the code

sender.php

require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;$connection = new AMQPStreamConnection('127.0.0.1', 5672, 'guest', 'guest');
$channel = $connection->channel();$channel->queue_declare('hello', false, false, false, false);$data = implode(" ", array_slice($argv, 1));
empty($data) && $data = "Hello World!";$msg = new AMQPMessage($data);$channel->basic_publish($msg, '', 'hello');echo " [x] Sent '$data'\n";//close the channel and connection;
$channel->close();
$connection->close();

receive.php

require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPStreamConnection;$connection = new AMQPStreamConnection('127.0.0.1', 5672, 'guest', 'guest');
$channel = $connection->channel();$channel->queue_declare('hello', false, false, false, false);
echo ' [*] Waiting for messages. To exit press CTRL+C', "\n";$callback = function($msg) {echo "[x] Received ", $msg->body, "\n";sleep(substr_count($msg->body, '.'));echo "[x] Done\n";
};
$channel->basic_consume('hello', '', false, true, false, false, $callback);while(count($channel->callbacks)) {$channel->wait();
}

执行

打开两个终端,分别执行两个脚本。

终端一:

终端二:

终端一收到终端二发送的消息。

转载于:https://www.cnblogs.com/hejun695/p/7687380.html

RabbitMq初探——Hello World相关推荐

  1. RabbitMq初探——安装

    rabbitmq Server安装 rabbitmq server安装很简单. 安装erlang环境 rpm -ihv erlang-18.1-1.el6.x86_64.rpm rpm -ihv ra ...

  2. RabbitMQ初探--用C#简单实现通信服务

    MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们. 消息传递指的是程序之 ...

  3. [Erlang 0079] RabbitMQ 初探

    最近在项目中实践RabbitMQ,比较幸运现在除了官方网站,还有一本非常棒的书可以读:RabbitMQ in Action;这本书目前还没有中文版或者影印版,但是从网上很容易找到PDF版本和epub ...

  4. RabbitMQ初探

    1.  MQ是什么 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们 ...

  5. 初探 RabbitMQ 消息队列

    初探 RabbitMQ 消息队列 rabbitmq基础概念常见应用场景导入依赖属性配置具体编码定义队列实体类控制器消息消费者主函数测试总结说点什么 SpringBoot 是为了简化 Spring 应用 ...

  6. 初探RabbitMQ与简单实现

    RabbitMQ 简介: RabbitMQ是一个由Erlang语言开发的AMQP的开源实现,高级消息队列协议即Advanced Message Queuing Protocal,是应用层协议的一个开放 ...

  7. 初探RabbitMQ

    官网 安装教程视频 安装 简单模式入门案例 环境搭建 生产者代码 消费者代码 测试 工作队列模式入门案例 创建公共类(复用代码) 消费者代码 生产者代码 测试 消息应答 自动应答 手动应答 消息自动重 ...

  8. 从壹开始微服务 [ DDD ] 之一 ║ D3模式设计初探 与 我的计划书

    缘起 哈喽大家周四好!又是开心的一天,时间过的真快,我们的 <从壹开始 .net core 2.1 + vue 2.5 >前后端分离系列共 34 篇已经完结了,当然以后肯定还会有更新和修改 ...

  9. 一个winform带你玩转rabbitMQ

    源码已放出 https://github.com/dubing/MaoyaRabbit 本章分3部分 一.安装部署初探 二.进阶 三.api相关 安装 部署 初探 先上图 一. 安装部署 下载 rab ...

最新文章

  1. 好程序员web前端分享值得参考的css理论:OOCSS、SMACSS与BEM
  2. jq中查找上级_云计算自动化运维之linux-工作中常用命令总结(上)
  3. 不让自己的应用程序在桌面的图标列表里启动显示的方法
  4. .NET Core开发实战(第13课:配置绑定:使用强类型对象承载配置数据)--学习笔记...
  5. 【解决bug之路】JAVA 之 static
  6. 课堂经验值管理小程序_微信小程序怎么管理门店?
  7. LeetCode 494. 目标和(DFS+DP)
  8. modelmap前端怎么取值_【百度】前端开发岗面试题
  9. TCP新手误区–数据校验的意义
  10. SANYUKI:净化空气,顺便美颜?
  11. 今日小程序推荐:戒烟必备-脱敏戒烟,从小程序开始!
  12. 利用数据细分目标客户群
  13. Ubuntu的以太网卡找不到解决方法
  14. Android 11 新特性和API兼容
  15. 031_onetab
  16. access()函数
  17. 广州商学院 软件工程 博客列表
  18. win7防火墙怎么关_电脑防火墙怎么关?这两招你得会
  19. Ubuntu安装显卡驱动及设置3d桌面
  20. linux查看内存命令(查看进程虚拟内存)free命令、vmstat命令、pmap命令(free指令、vmstat指令、pmap指令)

热门文章

  1. 华为新系统鸿蒙效果,19款华为手机内测新系统,流畅度比肩苹果iOS,优先体验鸿蒙OS...
  2. android百度地图获取定位信息吗,android使用百度地圖定位(獲取當前經緯度和地址信息)...
  3. 傲梅备份服务器系统,傲梅轻松备份服务器版
  4. java的字符串池_翻译-Java字符串池
  5. 排序算法python实现_用Python,Java和C / C ++实现的选择排序算法
  6. Java基础篇:去探索String类
  7. Kafka 配置参数汇总及相关说明
  8. 斥资2.5亿美元,英特尔也开始玩车了
  9. ASP.NET 导入 Excel
  10. 腾讯QQ认证空间4月27日已全面开放申请,欲进军自媒体