TsgcWSPClient_MQTT › プロパティ › QoS
アウトバウンド QoS 1 および QoS 2 メッセージのデフォルトサービス品質レベルと再試行/タイムアウト動作。
property QoS: TsgcWSMQTTQoS_Options read FQoS write SetQoS;
Level=mtqsAtMostOnce, Interval=60, Timeout=300
Levelは、明示的な値が指定されていない場合に便利メソッドが適用するデフォルトのQoSです。mtqsAtMostOnce(QoS 0 — fire-and-forget)、mtqsAtLeastOnce(QoS 1 — PUBACKで確認、重複の可能性あり)、またはmtqsExactlyOnce(QoS 2 — 4ウェイハンドシェイクPUBLISH/PUBREC/PUBREL/PUBCOMP、単一配信を保証)。Interval(秒)は、内部QoSストアが未確認のQoS 1およびQoS 2メッセージを再送信する頻度です。Timeout(秒)は、未確認のメッセージがストアから破棄されるまでの最大経過時間です。QoS 0メッセージはリトライストアを完全にバイパスします。Timeoutを増やすと、高レイテンシまたは断続的なリンクで役立ちます。再送ロジックを無効にしてMQTT 5.0のセッション有効期限のみに依存するには、両方を0に設定してください。
MQTT.QoS.Level := mtqsAtLeastOnce;
MQTT.QoS.Interval := 30;
MQTT.QoS.Timeout := 600;
MQTT.Publish('sensors/temp', '21.5');