simps/mqtt v1.1.1 版本发布,支持 MQTT5 中的大部分 Property
发布于 2024-01-25
2320
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
鲁飞
扫码关注公众号
扫码阅读
手机扫码阅读
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页面和文档链接提供了更多信息,并附有交流群号码。
鲁飞
鲁飞
扫码关注公众号
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
查看方案
鲁飞的其他文章
使用 GitHub Actions 自动同步 Docker 镜像到 CNB
通过 GitHub Actions + skopeo + CNB 服务,构建一个可复用、自动化、支持多镜像同步的工具链,显著提升了镜像的可用性与部署效率。
Linux 服务器实现 Word 转图片方案
在很多业务系统中,经常需要对 Word 文档进行在线预览或生成图片。
怎么使用默认的 PHP 执行 phar 包?
最近在开发一个安装程序的时候,打包为了 phar 包,遇到了一个问题就是打包后的 phar 包不能省略 php 去运行。
怎么分别给公司和个人项目设置 Git User?
从第一天使用 Git 开始,每个人都逃不过这个配置
PHP8正式版发布,带来了注解和JIT
PHP8 正式版已经发布,来看看都有哪些新特性
加入社区微信群
与行业大咖零距离交流学习
PMO实践白皮书
白皮书上线
白皮书上线