TsgcWSPClient_MQTTMethoden › UnSubscribe

UnSubscribe Methode

Entfernt eine oder mehrere aktive Topic-Abonnements aus der aktuellen MQTT-Sitzung.

Überladungen

Overload 1

Syntax

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

Parameter

NameTypBeschreibung
aTopicconst stringExakter Topic-Filter, der mit einem vorherigen Subscribe-Aufruf übereinstimmt und entfernt werden soll.
aUnsubscribePropertiesTsgcWSMQTTUnsubscribe_PropertiesOptionale MQTT-5.0-Eigenschaften (zum Beispiel User Properties). Übergeben Sie nil, wenn nicht erforderlich.

Rückgabewert

Paketbezeichner, der dem UNSUBSCRIBE-Paket zugewiesen wurde; korrelieren Sie ihn mit OnMQTTUnSubscribe, um die Reason Codes des Brokers auszulesen. (Word)

Hinweise

Einzel-Topic-Überladung. Der Filter muss mit dem ursprünglich an Subscribe übergebenen übereinstimmen, einschließlich Platzhalter, andernfalls meldet der Broker einen "No subscription existed"-Reason-Code. Bereits in Übertragung befindliche ausstehende Nachrichten können nach dem Aufruf dennoch geliefert werden.

Beispiel

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

Überladung 2

Syntax

function UnSubscribe(aTopics: TsgcWSTopics): Word;

Parameter

NameTypBeschreibung
aTopicsTsgcWSTopicsSammlung von Topic-Filtern, die mit einem einzelnen UNSUBSCRIBE-Paket entfernt werden sollen.

Rückgabewert

Paketkennung des gebündelten UNSUBSCRIBE-Pakets. (Word)

Hinweise

Batch-Überladung, nützlich beim Abmelden eines Clients, der viele Filter verfolgt, oder wenn eine Moduserne mehrere Abonnements gleichzeitig neu verdrahten muss. Jeder Eintrag in der Collection erzeugt seinen eigenen Reason-Code im UNSUBACK des Brokers, der über OnMQTTUnSubscribe gemeldet wird.

Beispiel

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

Zurück zu Methoden