返回顶部
M

MQTTMQTT消息实现

Implement MQTT messaging avoiding security, QoS, and connection management pitfalls.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
1,353
下载量
免费
免费
2
收藏
概述
安装方式
版本历史

MQTT

安全陷阱

  • - 默认Mosquitto允许匿名连接——机器人会持续扫描,务必配置认证
  • 外部访问必须启用TLS——否则凭证将以明文传输
  • 重复客户端ID会导致连接冲突——两个客户端会反复断开对方连接
  • ACL应限制主题访问——一个被攻陷的设备不应读取所有主题

QoS误解

  • - 有效QoS取发布者和订阅者的最小值——若订阅者请求更低QoS,代理会降级处理
  • QoS 1可能重复投递消息——处理程序必须具有幂等性
  • QoS 2开销显著——仅用于重复会造成问题的命令
  • QoS按消息应用——同一主题内可混合使用不同QoS

主题设计陷阱

  • - 以/开头会创建空首层级——应使用home/temp而非/home/temp
  • 通配符仅用于订阅——不能向home/+/temperature发布消息
  • #匹配包括嵌套在内的所有层级——home/#会获取home/a/b/c/d
  • 部分代理限制主题深度——设计深层级结构前请先确认限制

连接管理

  • - 关闭clean session会保留订阅——离线时消息会排队,可能造成意外
  • keep-alive时间过长会延迟死连接检测——60秒是合理默认值
  • 重连逻辑由客户端负责——多数库默认不会自动重连
  • 遗嘱消息仅在意外断开时触发——正常断开不会触发

保留消息陷阱

  • - 保留消息会持续存在直至显式清除——旧数据会误导新订阅者
  • 通过发送空消息+保留标志清除保留消息——文档中通常未明确说明
  • 上线/遗嘱模式:连接时发布在线保留消息,遗嘱发布离线消息

Mosquitto特性

  • - persistence true可在重启后保留数据——否则保留消息和订阅会丢失
  • maxqueuedmessages防止内存耗尽——单个慢速订阅者不应导致代理崩溃
  • listener 1883 0.0.0.0绑定所有接口——仅本地使用请用127.0.0.1

调试技巧

  • - 订阅#可查看所有流量——切勿在生产环境使用,会泄露全部信息
  • $SYS/#暴露代理指标——客户端数量、字节数、订阅数等
  • 修复问题后保留消息仍会留存——需显式清除
  • mosquitto_sub -v可显示主题与消息——调试必备功能

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 mqtt-1776420088 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 mqtt-1776420088 技能

通过命令行安装

skillhub install mqtt-1776420088

下载

⬇ 下载 MQTT v1.0.0(免费)

文件大小: 1.82 KB | 发布时间: 2026-4-17 19:56

v1.0.0 最新 2026-4-17 19:56
Initial release

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部