MQTT是类似于WebSocket的长连接服务协议,主要应用于物联网开发,SWX-的MQTT服务端,支持v3/v5协议,对应的配置项统一存放在/config/mqtt.php
文件中。
默认是启用v3
版本。
启动MQTT服务后,框架会经过Swoole的消息事件处理,从路由注解中找出对应的控制器并进行加载和注解解析。
注意:MQTT服务的协议消息事件定义在/box/event/mqtt/版本/
目录下,文件名则对应MQTT的事件名称。
注意:在启动MQTT服务前,必须先修改/config/redis.php
配置,因为订阅主题管理依赖Redis组件存储。
本章节中,所有关于Shell
命令的示例代码,都是需要先cd
进入到sw-x
文件所在的目录下。
本章节中,所有关于php
命令的示例代码,都是相当于安装了Swoole
扩展的php-cli
,若不是安装在默认的PHP版本下,可使用find / -name php
命令查找对应bin/php
的所在位置。
窗口调试启动方式:
php sw-x start mqtt
退后台,守护进程启动方式:
php sw-x start mqtt -d
窗口模式下,使用Ctrl+C
就能停止服务。
守护进程模式下,需要使用stop
命令停止:
php sw-x stop
窗口模式下,无法查看服务状态,服务状态查询是相对于守护进程模式下的,需要使用到status
命令:
php sw-x status
结果: