MQTT服务的协议解析算法,出自simps-mqtt开源框架,感谢作者大大的慷慨支持。
MQTT服务,通讯协议上自动兼容v3
、v5
协议,设备与订阅主题管理使用Swoole-Table
、Reids
组合维护,
开发者无需关心维护状态,只需要在消息事件中,根据自己的业务逻辑,挂载对应的控制器即可。
所有MQTT控制器,都需要继承\x\controller\Mqtt
基类,之后就能够直接使用主题查询、消息发布等方法。
MQTT控制器,统一存放在/app/mqtt/
目录下。
MQTT服务端的版本切换,只需要修改/config/mqtt.php
文件中的protocol_level
参数即可,默认使用v3
版本。
MQTT服务端的消息事件处理,统一存放在/box/event/mqtt/
目录下,子目录为对应的版本号,文件名称为对应消息的事件名。
注意:在启动MQTT服务前,必须先修改/config/redis.php
配置,因为订阅主题管理依赖Redis组件存储。
提示:v2.5.6
版本起,框架底层已自动兼容v3
、v5
协议,配置文件中也已经删除了protocol_level
参数。