TsgcWSPClient_MQTT › Propriétés › QoS
Niveau de qualité de service par défaut et comportement de nouvelle tentative/délai d'expiration pour les messages QoS 1 et QoS 2 sortants.
property QoS: TsgcWSMQTTQoS_Options read FQoS write SetQoS;
Level=mtqsAtMostOnce, Interval=60, Timeout=300
Level est le QoS par défaut appliqué par les méthodes pratiques lorsqu'aucune valeur explicite n'est fournie : mtqsAtMostOnce (QoS 0 — fire-and-forget), mtqsAtLeastOnce (QoS 1 — acquitté avec PUBACK, peut dupliquer) ou mtqsExactlyOnce (QoS 2 — négociation en quatre étapes PUBLISH/PUBREC/PUBREL/PUBCOMP, livraison unique garantie). Interval (secondes) est la fréquence à laquelle le magasin QoS interne renvoie les messages QoS 1 et QoS 2 non acquittés ; Timeout (secondes) est l'âge maximum après lequel un message non acquitté est supprimé du magasin. Les messages QoS 0 contournent entièrement le magasin de réessai. Augmenter Timeout aide sur les liens à latence élevée ou intermittents ; définissez les deux à 0 pour désactiver la logique de renvoi et s'appuyer uniquement sur l'expiration de session MQTT 5.0.
MQTT.QoS.Level := mtqsAtLeastOnce;
MQTT.QoS.Interval := 30;
MQTT.QoS.Timeout := 600;
MQTT.Publish('sensors/temp', '21.5');