MQTT 组件提供轻量、功能完整的 MQTT 客户端实现,支持版本 3。
MQTT 组件提供轻量级、功能完整的 MQTT 客户端实现,支持 3.1.1 和 5.0 版本。该组件支持通过标准 TCP 和 WebSocket 进行明文和安全连接。
连接到 MQTT 服务器非常简单,只需将此组件拖放到表单上,并使用 Client 属性选择一个 TsgcWebSocketClient 组件。在 TsgcWebSocketClient 中设置主机和端口,然后将 Active := True 即可连接。
MQTT v5.0 与 v3.1.1 不向后兼容,引入了过多新内容,现有实现需要重新审视。
根据规范,MQTT v5.0 在保留大部分核心内容的同时,为 MQTT 增加了大量新特性。
Clean Session 标志的功能被分为 2 个属性,以允许对会话状态数据进行更精细的控制:CleanStart 参数和新增的 SessionExpInterval。
服务器断开连接:允许服务器发送 DISCONNECT 消息,以指示连接关闭的原因。
所有响应数据包(CONNACK、PUBACK、PUBREC、PUBREL、PUBCOMP、SUBACK、UNSUBACK、DISCONNECT)现在均包含描述操作成功或失败原因的原因码和原因字符串。
增强身份验证:提供一种机制,用于启用包括双向身份验证在内的挑战/响应式身份验证。如果客户端和服务器都支持,则允许使用 SASL 样式的身份验证,并包括客户端在连接内重新进行身份验证的能力。
请求/响应模式通过添加 ResponseTopic 而正式化。
共享订阅:添加共享订阅支持,允许对一个订阅进行负载均衡消费。
主题别名可由客户端和服务器发送,通过较短的数字标识符引用主题过滤器,以节省带宽。
服务器可以在 ConnectionProperties 中告知其支持的功能。
服务器引用:允许服务器在 CONNACK 或 DISCONNECT 时指定要使用的备用服务器。可用作重定向或设备预配。
更多:消息过期、接收最大值和最大数据包大小,以及 Will Delay 间隔,均受支持。