TsgcWSPClient_MQTTWłaściwości › QoS

QoS Właściwość

Domyślny poziom Quality of Service oraz zachowanie dotyczące ponawiania prób i limitów czasu dla wychodzących wiadomości QoS 1 i QoS 2.

Składnia

property QoS: TsgcWSMQTTQoS_Options read FQoS write SetQoS;

Wartość domyślna

Level=mtqsAtMostOnce, Interval=60, Timeout=300

Uwagi

Level to domyślny poziom QoS stosowany przez metody pomocnicze, gdy nie podano jawnej wartości: mtqsAtMostOnce (QoS 0 — wyślij i zapomnij), mtqsAtLeastOnce (QoS 1 — potwierdzone przez PUBACK, możliwe duplikaty) lub mtqsExactlyOnce (QoS 2 — czterokierunkowe uzgadnianie PUBLISH/PUBREC/PUBREL/PUBCOMP, gwarantowane pojedyncze dostarczenie). Interval (w sekundach) określa, jak często wewnętrzny magazyn QoS ponownie wysyła niepotwierdzonych wiadomości QoS 1 i QoS 2; Timeout (w sekundach) to maksymalny wiek, po którym niepotwierdzana wiadomość jest usuwana z magazynu. Wiadomości QoS 0 całkowicie omijają magazyn ponownych prób. Zwiększenie wartości Timeout jest pomocne w przypadku łączy o dużym opóźnieniu lub niestabilnych; ustawienie obu wartości na 0 wyłącza logikę ponownego wysyłania i pozostawia zarządzanie wyłącznie wygasaniu sesji MQTT 5.0.

Przykład


MQTT.QoS.Level := mtqsAtLeastOnce;
MQTT.QoS.Interval := 30;
MQTT.QoS.Timeout := 600;
MQTT.Publish('sensors/temp', '21.5');

Wróć do Właściwości