TsgcWSPClient_MQTT属性 › QoS

QoS 属性

出站 QoS 1 和 QoS 2 消息的默认服务质量级别及重试/超时行为。

语法

property QoS: TsgcWSMQTTQoS_Options read FQoS write SetQoS;

默认值

Level=mtqsAtMostOnce, Interval=60, Timeout=300

备注

Level 是便捷方法在未显式提供值时使用的默认 QoS:mtqsAtMostOnce(QoS 0,即发即忘)、mtqsAtLeastOnce(QoS 1,PUBACK 确认,可能重复)或 mtqsExactlyOnce(QoS 2,四次握手 PUBLISH/PUBREC/PUBREL/PUBCOMP,保证单次投递)。Interval(秒)为内部 QoS 存储重发未确认的 QoS 1 和 QoS 2 消息的频率;Timeout(秒)为未确认消息从存储中丢弃的最大等待时间。QoS 0 消息完全绕过重试存储。增大 Timeout 有助于高延迟或间歇性链路;将两者均设为 0 可禁用重发逻辑,仅依赖 MQTT 5.0 会话过期。

示例


MQTT.QoS.Level := mtqsAtLeastOnce;
MQTT.QoS.Interval := 30;
MQTT.QoS.Timeout := 600;
MQTT.Publish('sensors/temp', '21.5');

返回属性