扫码阅读
手机扫码阅读
simps/mqtt v1.1.1 版本发布,支持 MQTT5 中的大部分 Property

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

鲁飞
扫码关注公众号
MQTT 5.0 协议引入了众多新属性,各种报文类型如CONNECT,CONNACK,PUBLISH等均包含不同的属性集,总计27种。CONNECT报文的有效载荷中的Will Properties字段还包括了一组可选属性。
在过去的版本中,尽管支持了一些属性,但代码存在大量if else结构导致冗余。新版本中对此进行了重构,减少了代码量,并支持了除AUTHENTICATION_DATA(0x16)和CORRELATION_DATA(0x09)外的其他25种属性。
针对实际场景中后台需要向客户端发布消息的需求,新版本增加了同步阻塞客户端,允许在fpm中发布消息。以下是示例代码:
use Simps\MQTT\Client; $client = new Client(getTestConnectConfig(), SWOOLE_MQTT_CONFIG, SWOOLE_SOCK_TCP, Client::SYNC_CLIENT_TYPE); $client->connect(); $response = $client->publish('simps-mqtt/user001/update', '{"time":' . time() . '}', 1); var_dump($response);
此外,更新日志显示了增强功能包括在fpm中发布消息的支持,更多属性的支持,添加了ProtocolInterface,以及优化了重复代码。同时修复了SOCKET_ECONNRESET的问题。
simps/mqtt为支持MQTT v5.0协议的PHP库,是首个同时支持MQTT协议3.1、3.1.1和5.0版本的PHP库,同时支持QoS 0、QoS 1、QoS 2。项目的GitHub页面和文档链接提供了更多信息,并附有交流群号码。
想要了解更多内容?

鲁飞
扫码关注公众号
鲁飞的其他文章
JavaScript 如何实现在搜索中忽略变音符号
变音符号是指添加在字母上面的符号,以更改字母的发音或者以区分拼写相似词语。
腾讯企业邮箱收不到邮件怎么回事
原因就是域名解析 CNAME 和 MX 记录冲突所导致的。
解决 macOS 下 PostgreSQL 服务启动失败
使用 brew 安装的 PostgreSQL 服务,不知道什么时候升级了版本...
通过微信开放平台授权获取公众号文章
如果想要实现一个将公众号文章搬运到某个社区中去发布的功能,除了使用爬虫等方法,还可以通过微信开放平台授权,调用官方接口来获取公众号文章。
怎么复用 GitHub Actions 的 Workflows
使工作流程可重复使用,而不是从一个工作流程复制并粘贴到另一个工作流程。 自己和有权访问可重用工作流程的任何人都可以从另一个工作流程调用可重用工作流程。
加入社区微信群
与行业大咖零距离交流学习


PMO实践白皮书
白皮书上线
白皮书上线