TsgcWSPClient_MQTT › Properties › LastWillTestament
연결이 비정상적으로 끊어진 경우 브로커가 이 클라이언트를 대신하여 게시하는 Will 메시지를 등록합니다.
property LastWillTestament: TsgcWSMQTTLWT_Options read FLastWillTestament write SetLastWillTestament;
Enabled=False, Topic='', Text='', QoS=mtqsAtMostOnce, Retain=False
CONNECT 패킷에 Will 플래그와 Will 페이로드를 포함하려면 LastWillTestament.Enabled를 True로 설정하십시오. 클라이언트가 정상적인 DISCONNECT를 보내지 않고 연결이 끊어지면(네트워크 장애, 충돌, keep-alive 시간 초과) 브로커는 메시지를 저장하고 지정된 Topic에 게시합니다. 활성화된 경우 Topic은 필수입니다. QoS는 mtqsAtMostOnce, mtqsAtLeastOnce 또는 mtqsExactlyOnce를 허용합니다. 브로커가 향후 구독자를 위해 Will을 보존하도록 요청하려면 Retain=True로 설정하십시오. (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;