TsgcWSPClient_sgc › Proprietà › QoS
QoS Proprietà
Opzioni di qualità del servizio (Livello, Intervallo, Timeout) per la consegna con conferma.
Sintassi
property QoS: TsgcWSQoS_Options read FQoS write SetQoS;
Valore predefinito
—
Note
Sono supportate tre garanzie di consegna, equivalenti al modello MQTT:
- Livello 0 — "Al massimo una volta": il messaggio viene consegnato con il massimo impegno tramite TCP, senza retry e senza conferma. Arriva una volta oppure non arriva affatto.
- Livello 1 — "Almeno una volta": la ricezione del messaggio è confermata con un Acknowledgment. Se l'ack non viene ricevuto entro Timeout secondi, il mittente rinvia il messaggio; viene incluso un campo Id in modo che i duplicati possano essere rilevati.
- Livello 2 — "Esattamente una volta": il messaggio è garantito di arrivare esattamente una volta tramite un handshake a due fasi. Utilizzare questo livello per operazioni come la fatturazione, in cui messaggi duplicati o persi non sono accettabili.
Interval controlla la frequenza con cui il timer QoS interno analizza i messaggi in sospeso; Timeout è il numero di secondi senza riconoscimento trascorsi i quali un messaggio viene reinviato.
Esempio
oProtocol.QoS.Level := qosLevel1;
oProtocol.QoS.Interval := 60;
oProtocol.QoS.Timeout := 300;
Torna alle Proprietà