TsgcWSPClient_MQTT › プロパティ › LastWillTestament
接続が正常に閉じられなかった場合にブローカーがこのクライアントに代わって公開する Will メッセージを登録します。
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;