Appearance
系统消息
FreeMQTT透过下面3个系统主题发布系统消息:
- 系统统计信息发布主题: $SYS/METRICS
- 客户端上线通知主题: $SYS/ONLINE
- 客户端下线通知主题: $SYS/OFFLINE
范围及约束
- 3个系统主题作用域是 Application,即每个Application对应3个系统主题
- MQTT客户端只能订阅系统主题( $SYS 为前缀),而不能向系统主题发布消息
- FreeMQTT 通过系统主题发布的消息为JSON格式
统计信息
- FreeMQTT 每隔一定时间间隔向主题 $SYS/METRICS 发布一次统计信息
- 时间间隔在配置文件中指定
- 消息的 QoS 为 0
发布的统计信息如下:
json
{
"appid": "myapp2", // 当前的Application ID
"client_count": 1023, // 在线的 MQTT 客户数
"received_message_count": 1805, // 收到的消息数
"sent_message_count": 2303, // 发出的消息数
"retain_message_count": 0, // 当前 retain 消息数
"normal_sub_count": 123, // 常规订阅 Topic Filter 数
"share_sub_count": 0, // 共享订阅 Topic Filter 数
"uptime": 6005, // 服务器连续运行时间(秒)
"timestamp": 1726732972 // 本次发布时间戳(10时间戳,单位:秒)
}
上线通知
- FreeMQTT 实时透过主题 $SYS/ONLINE 发布客户端上线通知
- 通知消息的 QoS 为 1
通知信息样例:
json
{
"appid": "myapp2", // Application ID
"clientId": "mqttx_12677d28", // MQTT客户ID
"timestamp": 1726879410, // 上线时间戳(10时间戳,单位:秒)
"reason": "connect" // 上线原因描述,一般为connect
}
下线通知
- FreeMQTT 实时透过主题 $SYS/OFFLINE 发布客户端下线通知
- 通知消息的 QoS 为 1
通知信息样例:
json
{
"appid": "myapp2", // Application ID
"clientId": "mqttx_12677d28", // MQTT客户ID
"timestamp": 1726879410, // 下线时间戳(10时间戳,单位:秒)
"reason": "transport closed error",// 下线原因描述
}