TsgcWSPClient_MQTT › Methoden › UnSubscribe
Verwijdert een of meer actieve onderwerpabonnementen uit de huidige MQTT-sessie.
function UnSubscribe(const aTopic: string; aUnsubscribeProperties: TsgcWSMQTTUnsubscribe_Properties = nil) : Word;
| Naam | Type | Beschrijving |
|---|---|---|
aTopic | const string | Exact onderwerpfilter, overeenkomend met een eerdere Subscribe-aanroep, dat moet worden verwijderd. |
aUnsubscribeProperties | TsgcWSMQTTUnsubscribe_Properties | Optionele MQTT 5.0-eigenschappen (bijvoorbeeld gebruikerseigenschappen). Geef nil door wanneer niet vereist. |
Pakket-identifier toegewezen aan het UNSUBSCRIBE-pakket; correleer dit met OnMQTTUnSubscribe om de redencodes van de broker te lezen. (Word)
Overload voor één onderwerp. Het filter moet overeenkomen met het filter dat oorspronkelijk aan Subscribe is doorgegeven, inclusief jokertekens, anders meldt de broker een "No subscription existed"-reason-code. Wachtende berichten die al onderweg zijn, kunnen na de aanroep nog steeds worden afgeleverd.
MQTT.UnSubscribe('sensors/+/temperature');
function UnSubscribe(aTopics: TsgcWSTopics): Word;
| Naam | Type | Beschrijving |
|---|---|---|
aTopics | TsgcWSTopics | Verzameling van onderwerpfilters om te verwijderen met één UNSUBSCRIBE-pakket. |
Pakketidentificatie van het gebatchte UNSUBSCRIBE-pakket. (Word)
Batch-overload nuttig bij het uitloggen van een client die veel filters bijhoudt, of wanneer een moduswijziging het herdrahten van meerdere abonnementen tegelijk vereist. Elke invoer in de verzameling produceert zijn eigen redencode in de UNSUBACK van de broker, gerapporteerd via OnMQTTUnSubscribe.
oTopics := TsgcWSTopics.Create;
try
oTopics.Add('sensors/#');
oTopics.Add('alerts/#');
MQTT.UnSubscribe(oTopics);
finally
oTopics.Free;
end;