TsgcWSPClient_MQTT › 属性 › LastWillTestament
注册一条遗嘱消息,当此客户端连接意外断开时,代理将代表其发布该消息。
property LastWillTestament: TsgcWSMQTTLWT_Options read FLastWillTestament write SetLastWillTestament;
Enabled=False,Topic='',Text='',QoS=mtqsAtMostOnce,Retain=False
将 LastWillTestament.Enabled 设置为 True,以在 CONNECT 数据包中包含 Will 标志和 Will 有效载荷。如果客户端在未发送干净 DISCONNECT 的情况下断开连接(网络故障、崩溃、保活超时),代理会存储该消息并在指定的 Topic 上发布它。启用时 Topic 为必填项。QoS 接受 mtqsAtMostOnce、mtqsAtLeastOnce 或 mtqsExactlyOnce。将 Retain=True 设置为要求代理为未来的订阅者保留 Will。(MQTT 5.0) WillProperties 公开 WillDelayInterval、PayloadFormat、MessageExpiryInterval、ContentType、ResponseTopic、CorrelationData 和 UserProperties;在 MQTT 3.1.1 中,这些字段将被忽略。
MQTT.LastWillTestament.Enabled := True;
MQTT.LastWillTestament.Topic := 'devices/sensor-01/status';
MQTT.LastWillTestament.Text := 'offline';
MQTT.LastWillTestament.QoS := mtqsAtLeastOnce;
MQTT.LastWillTestament.Retain := True;