TsgcWSPClient_MQTT › Methods › Subscribe
Subskrybuje klienta do jednego lub więcej filtrów tematów z żądanym poziomem QoS.
function Subscribe(const aTopic: String; aQoS: TmqttQoS = mtqsAtMostOnce; const aSubscribeProperties: TsgcWSMQTTSubscribe_Properties = nil) : Word;
| Nazwa | Typ | Opis |
|---|---|---|
aTopic | const String | Filtr tematu do subskrybowania; obsługiwane są symbole wieloznaczne: jednopoziomowy (+) i wielopoziomowy (#). |
aQoS | TmqttQoS | Maksymalne QoS, jakie broker powinien dostarczać dla pasujących wiadomości. Domyślnie mtqsAtMostOnce. |
aSubscribeProperties | const TsgcWSMQTTSubscribe_Properties | Opcjonalne właściwości MQTT 5.0, takie jak Subscription Identifier, flaga No Local, Retain As Published lub Retain Handling. Przekaż nil, aby użyć wartości domyślnych. |
Identyfikator pakietu SUBSCRIBE. Należy go skorelować z uprawnieniem zgłoszonym przez OnMQTTSubscribe, aby poznać QoS faktycznie przyznane przez brokera. (Word)
Przeciążenie dla pojedynczego tematu, najczęściej stosowane. Przychodzące wiadomości są przekazywane przez zdarzenie OnMQTTPublish (lub OnMQTTPublishEx dla MQTT 5.0). Broker może obniżyć QoS, jeśli nie obsługuje żądanego poziomu lub obowiązują reguły ACL.
MQTT.Subscribe('sensors/+/temperature', mtqsAtLeastOnce);
function Subscribe(aTopics: TsgcWSTopics): Word;
| Nazwa | Typ | Opis |
|---|---|---|
aTopics | TsgcWSTopics | Kolekcja filtrów tematów z indywidualnymi ustawieniami QoS, wysyłana jako pojedynczy pakiet SUBSCRIBE. |
Identyfikator pakietu wsadowego zlecenia SUBSCRIBE; służy do korelacji wszystkich potwierdzeń odebranych przez OnMQTTSubscribe. (Word)
Przeciążenie wsadowe subskrybujące kilka filtrów w jednym obrocie. Preferowane przed pętlą pojedynczych wywołań per-temat, aby ograniczyć ruch sieciowy i dać brokerowi szansę na zwrócenie pełnej listy kodów przyczyn w jednym SUBACK.
oTopics := TsgcWSTopics.Create;
try
oTopics.Add('sensors/#', mtqsAtLeastOnce);
oTopics.Add('alerts/#', mtqsExactlyOnce);
MQTT.Subscribe(oTopics);
finally
oTopics.Free;
end;