TsgcWSPClient_MQTTEigenschappen › QoS

QoS Eigenschap

Standaard Quality of Service-niveau en gedrag voor opnieuw proberen/time-out voor uitgaande QoS 1- en QoS 2-berichten.

Syntaxis

property QoS: TsgcWSMQTTQoS_Options read FQoS write SetQoS;

Standaardwaarde

Level=mtqsAtMostOnce, Interval=60, Timeout=300

Opmerkingen

Level is het standaard QoS dat wordt toegepast door hulpmethoden wanneer geen expliciete waarde is opgegeven: mtqsAtMostOnce (QoS 0 — fire-and-forget), mtqsAtLeastOnce (QoS 1 — bevestigd met PUBACK, kan duplicaten bevatten) of mtqsExactlyOnce (QoS 2 — vierweghandshake PUBLISH/PUBREC/PUBREL/PUBCOMP, gegarandeerde enkelvoudige aflevering). Interval (seconden) is hoe vaak de interne QoS-opslag niet-bevestigde QoS 1 en QoS 2 berichten opnieuw verzendt; Timeout (seconden) is de maximale leeftijd waarna een niet-bevestigd bericht uit de opslag wordt verwijderd. QoS 0-berichten omzeilen de retry-opslag volledig. Het verhogen van Timeout is nuttig bij verbindingen met hoge latentie of onderbrekingen; stel beide in op 0 om de herverzendingenlogica uit te schakelen en uitsluitend te vertrouwen op MQTT 5.0-sessieverloop.

Voorbeeld


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

Terug naar eigenschappen