TsgcWSPClient_MQTTMethoden › UnSubscribe

UnSubscribe Methode

Verwijdert een of meer actieve onderwerpabonnementen uit de huidige MQTT-sessie.

Overloads

Overload 1

Syntaxis

function UnSubscribe(const aTopic: string; aUnsubscribeProperties: TsgcWSMQTTUnsubscribe_Properties = nil) : Word;

Parameters

NaamTypeBeschrijving
aTopicconst stringExact onderwerpfilter, overeenkomend met een eerdere Subscribe-aanroep, dat moet worden verwijderd.
aUnsubscribePropertiesTsgcWSMQTTUnsubscribe_PropertiesOptionele MQTT 5.0-eigenschappen (bijvoorbeeld gebruikerseigenschappen). Geef nil door wanneer niet vereist.

Retourwaarde

Pakket-identifier toegewezen aan het UNSUBSCRIBE-pakket; correleer dit met OnMQTTUnSubscribe om de redencodes van de broker te lezen. (Word)

Opmerkingen

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.

Voorbeeld

MQTT.UnSubscribe('sensors/+/temperature');

Overload 2

Syntaxis

function UnSubscribe(aTopics: TsgcWSTopics): Word;

Parameters

NaamTypeBeschrijving
aTopicsTsgcWSTopicsVerzameling van onderwerpfilters om te verwijderen met één UNSUBSCRIBE-pakket.

Retourwaarde

Pakketidentificatie van het gebatchte UNSUBSCRIBE-pakket. (Word)

Opmerkingen

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.

Voorbeeld

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

Terug naar methoden