TsgcWSPClient_MQTT › Özellikler › QoS
Giden QoS 1 ve QoS 2 mesajları için varsayılan Hizmet Kalitesi seviyesi ve yeniden deneme/zaman aşımı davranışı.
property QoS: TsgcWSMQTTQoS_Options read FQoS write SetQoS;
Level=mtqsAtMostOnce, Interval=60, Timeout=300
Level, açık bir değer sağlanmadığında kolaylık yöntemleri tarafından uygulanan varsayılan QoS'tur: mtqsAtMostOnce (QoS 0 — gönder-ve-unut), mtqsAtLeastOnce (QoS 1 — PUBACK ile onaylanır, yinelenebilir) veya mtqsExactlyOnce (QoS 2 — dört yönlü handshake PUBLISH/PUBREC/PUBREL/PUBCOMP, garantili tek teslim). Interval (saniye), dahili QoS deposunun onaylanmamış QoS 1 ve QoS 2 mesajlarını ne sıklıkta yeniden gönderdiğidir; Timeout (saniye), onaylanmamış bir mesajın depodan bırakıldığı maksimum yaştır. QoS 0 mesajları yeniden deneme deposunu tamamen atlar. Timeout değerini artırmak, yüksek gecikmeli veya kesintili bağlantılarda yardımcı olur; yeniden gönderme mantığını devre dışı bırakmak ve yalnızca MQTT 5.0 oturum sona ermesine güvenmek için her ikisini de 0 olarak ayarlayın.
MQTT.QoS.Level := mtqsAtLeastOnce;
MQTT.QoS.Interval := 30;
MQTT.QoS.Timeout := 600;
MQTT.Publish('sensors/temp', '21.5');