TsgcWSPClient_MQTTMethoden › Subscribe

Subscribe Methode

Abonneert de client op een of meer onderwerpfilters op het gevraagde QoS-niveau.

Overloads

Overload 1

Syntaxis

function Subscribe(const aTopic: String; aQoS: TmqttQoS = mtqsAtMostOnce; const aSubscribeProperties: TsgcWSMQTTSubscribe_Properties = nil) : Word;

Parameters

NaamTypeBeschrijving
aTopicconst StringOnderwerpfilter om op te abonneren; single-level (+) en multi-level (#) jokertekens worden ondersteund.
aQoSTmqttQoSMaximale QoS waarmee de broker overeenkomende berichten moet afleveren. Standaard mtqsAtMostOnce.
aSubscribePropertiesconst TsgcWSMQTTSubscribe_PropertiesOptionele MQTT 5.0-eigenschappen zoals Abonnements-ID, No Local-vlag, Retain As Published of Retain Handling. Geef nil door om standaardwaarden te gebruiken.

Retourwaarde

Pakketidentifier van het SUBSCRIBE-pakket. Correleer het met de grant gerapporteerd via OnMQTTSubscribe om te weten welke QoS de broker daadwerkelijk heeft toegewezen. (Word)

Opmerkingen

Enkelvoudige onderwerp-overbelasting, de meest gebruikelijke vorm. Inkomende berichten worden doorgegeven via OnMQTTPublish (of OnMQTTPublishEx voor MQTT 5.0). De broker kan QoS verlagen als dit niveau niet wordt ondersteund of als ACL-regels van toepassing zijn.

Voorbeeld

MQTT.Subscribe('sensors/+/temperature', mtqsAtLeastOnce);

Overload 2

Syntaxis

function Subscribe(aTopics: TsgcWSTopics): Word;

Parameters

NaamTypeBeschrijving
aTopicsTsgcWSTopicsVerzameling van onderwerpfilters met individuele QoS-instellingen, verzonden als één SUBSCRIBE-pakket.

Retourwaarde

Pakket-identifier van het gegroepeerde SUBSCRIBE-pakket; wordt gebruikt om alle toekenningen die zijn ontvangen via OnMQTTSubscribe te correleren. (Word)

Opmerkingen

Batch-overload die in één rondreis meerdere filters abonneert. Gebruik dit in plaats van een lus van enkelvoudige onderwerpaanroepen om netwerkverkeer te beperken en de broker de kans te geven een volledige lijst met redencodecodes terug te sturen in één SUBACK.

Voorbeeld

oTopics := TsgcWSTopics.Create;
try
  oTopics.Add('sensors/#', mtqsAtLeastOnce);
  oTopics.Add('alerts/#', mtqsExactlyOnce);
  MQTT.Subscribe(oTopics);
finally
  oTopics.Free;
end;

Terug naar methoden