TsgcWSPServer_sgc › Properties › QoS
QoS Propriété
Options de qualité de service (Niveau, Intervalle, Délai d'attente) pour la livraison avec accusé de réception.
Syntaxe
property QoS: TsgcWSQoS_Options read FQoS write SetQoS;
Valeur par défaut
—
Remarques
Trois garanties de livraison sont prises en charge, équivalentes au modèle MQTT :
- Niveau 0 — « Au plus une fois » : les messages envoyés depuis le serveur sont livrés au mieux sur TCP sans nouvelle tentative ni accusé de réception.
- Niveau 1 — « Au moins une fois » : les messages sortants portent un Id ; le serveur les conserve dans une liste en attente et les renvoi si le client ne confirme pas dans les secondes Timeout. Les doublons sont détectés par Id.
- Niveau 2 — « Exactement une fois » : le serveur effectue une négociation PubRec/PubRel en deux étapes avant de délivrer le message aux abonnés. À utiliser pour les opérations où les messages en double ou perdus ne sont pas acceptables.
Interval contrôle la fréquence à laquelle le minuteur QoS interne analyse les messages en attente ; Timeout est le nombre de secondes sans acquittement après lequel un message est renvoyé au client.
Exemple
oProtocol.QoS.Level := qosLevel1;
oProtocol.QoS.Interval := 60;
oProtocol.QoS.Timeout := 300;
Retour aux propriétés