1.先来一张图表示一下基本的收发消息的机制,这个图很简单

2.github 上面有实例大家可以看看

https://github.com/mgdm/Mosquitto-PHP.git

中文官方文档 https://www.kancloud.cn/liao-song/mosquitto-php/500403

3.进入正题

首先你要自己搭建一个代理服务器 也就是Mosquitto的代理服务器,这里百度搜索就能搜索到

下面开始进入主题直接代码来了

发布者pub.php

$client = newMosquitto\Client();$client->setCredentials('test','123456');$client->connect("www.haha.com", 1883, 5);for($i = 0;$i<=10;$i++) {$client->loop();$mid = $client->publish('ss', "Hello from PHP at " . date('Y-m-d H:i:s'), 1, 0);echo "Sent message ID: {$mid}\n";$client->loop();sleep(2);

}

因为Mosquitto对于php是一个扩展,所以直接new一下就可以了,

通过setCredentials($username,$password);函数的两个参是服务器的账号和密码

通过connect(url,1883,5);函数建立与服务器的链接url也就是你Mosquitto服务器的地址

loop()函数是客户端主网络循环,必须调用该函数来保持 client(client既可以是发布者也可以是订阅者) 和 broker(可以理解为就是我们的Mosquitto服务器) 之间的通讯。

通过 publish($topic, $payload[, $qos = 0, $retain = false])发布主题消息。

$topic (string) – 要发表的主题

$payload (string) – 消息体

$qos (int) – 服务质量,值0,``1或2 //qos是大家可以百度一下,资料很多

$retain (boolean) – 是否保留此消息,默认为false

这样简单的发布者就编写完了,打开网页就可以访问了,下面是发送订阅成功的截图

订阅者

<?php $c = newMosquitto\Client;$c->setCredentials('test','123123');$c->connect(www.baidu.com', 1883, 50);

$c->subscribe('ss', 1);

$c->onMessage(function($m) {

var_dump($m);

});

$c->loopForever();

subscribe($topic, $qos)订阅一个主题。

$topic (string) – 要订阅的主题。

$qos (int) – 服务质量

需要注意的是 这个函数中的topic 值要与pulish中的topic相同,也就是说,订阅者订阅了SS主题的,当发布者发布关于SS主题的信息时,Mosquitto服务器就会把相关信息发送给订阅者

最后订阅者通过onMessage()中的回调函数来取得发布的信息和内容,下面放上截图

这就是最简单的发布者与订阅者之间的例子实现,总结一下希望能帮助到一些需要的人

mosquitto查看订阅记录_Mosquitto-PHP 简单实现订阅后的收发消息相关推荐

  1. mosquitto查看订阅记录_Mosquitto\Client

    # Mosquitto 客户端 *## class Mosquitto\Client* *### Mosquitto 客户端类* ~~~ constant LOG_DEBUG ~~~ 定义调试级别的日 ...

  2. mosquitto查看订阅记录_mosquitto 常用命令

    原文:https://www.cnblogs.com/smartlife/articles/10182136.html 常用命令 订阅主题 mosquitto_sub -h 192.168.0.1 - ...

  3. python爬虫实例-记录一次简单的Python爬虫实例

    本次的这篇文章主要是和大家分享了一篇关于记录一次简单的Python爬虫实例 ,有需要的小伙伴可以看一下. 主要流程分为: 爬取.整理.存储 1.其中用到几个包,包括 requests 用于向网站发送请 ...

  4. git log 查看提交记录,参数:

    git log 查看提交记录,参数: -n (n是一个正整数),查看最近n次的提交信息 $ git log -2 查看最近2次的提交历史记录 -- fileName fileName为任意文件名,查看 ...

  5. java如何查看调用记录_查看Java记录

    java如何查看调用记录 JEP 359 (可在JDK 14中用作预览功能)将记录引入Java. 记录是对普通数据聚合建模的简单方法. 一个简单的范围记录如下所示: record Range( int ...

  6. 计算机网络日志查询,如何查看电脑浏览记录 通过电脑日志查看浏览记录方法...

    电脑日志的级别有3种,第1种信息:这类信息我们可以不用理会,一般都是程序正常运行的痕迹:每2种错误:这类信息我们要侧重关注,因为这类信息代表着程序或都系统出现了错误,我们要修复的错误都出现在这里:第3 ...

  7. 查询计算机有浏览记录吗,如何查看电脑浏览记录 通过电脑日志查看浏览记录方法...

    电脑日志的级别有3种,第1种信息:这类信息我们可以不用理会,一般都是程序正常运行的痕迹:每2种错误:这类信息我们要侧重关注,因为这类信息代表着程序或都系统出现了错误,我们要修复的错误都出现在这里:第3 ...

  8. ## 记录一次简单的xmrig挖矿程序清理

    记录一次简单的xmrig挖矿程序清理 晚上闲着没事逛逛网站无意间发现cpu居然一直处于99.9的状态. 5.9 linux服务器,2核4G contos 7 小白一枚,还在纳闷是什么东西占了这么多的资 ...

  9. 【Git】Git 基础命令 ( 查看提交记录 git log | 版本回滚 git reset | 撤销回滚 git reflog )

    文章目录 一.查看提交记录 git log 1.查看详细提交记录 2.查看简略提交记录 二.版本回滚 git reset 1.Git 中的版本表示 HEAD~1 2.版本库代码回滚 三.撤销回滚 1. ...

最新文章

  1. 软工实践原型设计——PaperRepositories
  2. 非常好的在网页中显示pdf的方法
  3. iscsi存储常见错误
  4. windows API 第13篇 MoveFileEx
  5. firefox 开源_Firefox 10岁了,Microsoft开源了更多,等等
  6. (52)FPGA条件选择(casex)
  7. 代码排版工具Artistic Style的使用(原创)
  8. MySQL—FTS实现原理介绍PPT
  9. Ros使用自定义数据通讯无法收到消息的分析和解决
  10. 升级Windows 10 正式版过程记录与经验
  11. 《Android移动应用基础教程》之川菜菜谱
  12. [笑话]让古龙看了要痛哭的高考作文(作品相当强,但得了零分,据说被破格入取了)!!!...
  13. C# 判断有向图是否存在环
  14. 查找手机内所有app 包名
  15. 用Javascript实现鼠标经过某一行,那一行变色
  16. 网络里面可以看到计算机打不开,为什么电脑有网络但是打不开网页?
  17. html5手机移动端三级联动城市选择器,jquery移动端省市县(区)三级联动插件
  18. linux ps2键盘驱动,Linux下USB模拟ps2鼠标驱动
  19. SiC MOSFET驱动电压的分析
  20. 用Intellij IDEA 创建第一个Spring MVC项目

热门文章

  1. 2023年最新Python安装详细教程
  2. 西门子plc1200内存浅析
  3. HTML经典布局------div使用(关于浮动)
  4. hid python uhf_简单的读写Python中的USB HID设备?
  5. 攻击者正在利用mysql程序漏洞_Riddle 漏洞影响 MySQL 客户端软件,MiTM 攻击可致登陆凭证被窃...
  6. JAVA入门算法题(三)
  7. 云主机装黑果实践(2):在deepin kvm下测试mbr方式安装的黑果10.15最新版
  8. 学习Linux命令(22)
  9. 解决OBS Studio录制的视频为黑屏的问题
  10. Unreal主材质剖析