Skip to content

系统消息

FreeMQTT透过下面3个系统主题发布系统消息:

  • 系统统计信息发布主题: $SYS/METRICS
  • 客户端上线通知主题: $SYS/ONLINE
  • 客户端下线通知主题: $SYS/OFFLINE

范围及约束

  • 3个系统主题作用域是 Application,即每个Application对应3个系统主题
  • MQTT客户端只能订阅系统主题( $SYS 为前缀),而不能向系统主题发布消息
  • FreeMQTT 通过系统主题发布的消息为JSON格式

统计信息

发布的统计信息如下:

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"// 下线原因描述
}