扫码阅读
手机扫码阅读
MQTT 怎么在单独一个端口上分别使用 v3.x 和 v5.0 协议解析?

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

鲁飞
扫码关注公众号
MQTT支持多个协议版本,包括v3.1、v3.1.1和v5.0。实现在单一端口例如1883上同时解析这些版本的需求,在之前的simps/mqtt版本中可能需要进行重复的尝试解析,这样的代码不够优雅。
为了简化这一过程,simps/mqtt引入了新版本v1.4.0,并增加了getLevel
方法。现在,通过使用Composer安装simps/mqtt,可以轻松创建一个支持同时处理多个MQTT协议版本的Server。通过UnPackTool::getType
方法获取数据包的类型,在接收到Types::CONNECT
类型的数据包时,使用UnPackTool::getLevel
来确定客户端使用的协议版本,并将其存储在$server->fds
中,后续就可以直接使用对应的协议解析类。
代码现在变得更加简洁,只需五行即可完成之前复杂的功能。最后,文章还提供了一个关于MQTT协议的PPT,供读者不限速下载。
想要了解更多内容?

鲁飞
扫码关注公众号
鲁飞的其他文章
解决 macOS 下 PostgreSQL 服务启动失败
使用 brew 安装的 PostgreSQL 服务,不知道什么时候升级了版本...
GitHub Actions 真香系列之自动同步镜像仓库
GitHub虽然在国内访问慢,但是依旧不能阻挠国内开发者的使用,我们一般也会在Gitee或者其他托管平台创建一个镜像,用来方便不能正常访问GitHub的开发者。
使用Composer Scripts为依赖进行瘦身
常见的 SDK 都会将所有功能都集成在一个代码库中,本文以腾讯云开发者工具套件(SDK)3.0 为例。
怎么复用 GitHub Actions 的 Workflows
使工作流程可重复使用,而不是从一个工作流程复制并粘贴到另一个工作流程。 自己和有权访问可重用工作流程的任何人都可以从另一个工作流程调用可重用工作流程。
simps/mqtt v1.1.1 版本发布,支持 MQTT5 中的大部分 Property
在 MQTT 5.0 协议中增加了很多属性。不同的报文类型之间,属性也会不同,一共有 27 种属性。
加入社区微信群
与行业大咖零距离交流学习


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