扫码阅读
手机扫码阅读
simps/mqtt v1.1.1 版本发布,支持 MQTT5 中的大部分 Property
327 2024-01-25
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章来源:
鲁飞
扫码关注公众号
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页面和文档链接提供了更多信息,并附有交流群号码。
想要了解更多内容?
文章来源:
鲁飞
扫码关注公众号
鲁飞的其他文章
加入社区微信群
与行业大咖零距离交流学习
软件研发质量管理体系建设
白皮书上线