TsgcWSPServer_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": i messaggi inviati dal server vengono consegnati con best-effort su TCP senza retry e senza acknowledgement.
- Livello 1 — "Almeno una volta": i messaggi in uscita contengono un Id; il server li mantiene in un elenco di messaggi in sospeso e li reinvia se il client non li conferma entro Timeout secondi. I duplicati vengono rilevati tramite Id.
- Livello 2 — "Esattamente una volta": il server esegue un handshake in due fasi PubRec/PubRel prima di rilasciare il messaggio ai sottoscrittori. Utilizzarlo per operazioni in cui messaggi duplicati o persi non sono accettabili.
Interval controlla la frequenza con cui il timer QoS interno analizza i messaggi in attesa; Timeout è il numero di secondi senza conferma dopo i quali un messaggio viene reinviato al client.
Esempio
oProtocol.QoS.Level := qosLevel1;
oProtocol.QoS.Interval := 60;
oProtocol.QoS.Timeout := 300;
Torna alle Proprietà