TsgcWSPClient_MQTT › Methoden › UnSubscribe
Entfernt eine oder mehrere aktive Topic-Abonnements aus der aktuellen MQTT-Sitzung.
function UnSubscribe(const aTopic: string; aUnsubscribeProperties: TsgcWSMQTTUnsubscribe_Properties = nil) : Word;
| Name | Typ | Beschreibung |
|---|---|---|
aTopic | const string | Exakter Topic-Filter, der mit einem vorherigen Subscribe-Aufruf übereinstimmt und entfernt werden soll. |
aUnsubscribeProperties | TsgcWSMQTTUnsubscribe_Properties | Optionale MQTT-5.0-Eigenschaften (zum Beispiel User Properties). Übergeben Sie nil, wenn nicht erforderlich. |
Paketbezeichner, der dem UNSUBSCRIBE-Paket zugewiesen wurde; korrelieren Sie ihn mit OnMQTTUnSubscribe, um die Reason Codes des Brokers auszulesen. (Word)
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.
MQTT.UnSubscribe('sensors/+/temperature');
function UnSubscribe(aTopics: TsgcWSTopics): Word;
| Name | Typ | Beschreibung |
|---|---|---|
aTopics | TsgcWSTopics | Sammlung von Topic-Filtern, die mit einem einzelnen UNSUBSCRIBE-Paket entfernt werden sollen. |
Paketkennung des gebündelten UNSUBSCRIBE-Pakets. (Word)
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.
oTopics := TsgcWSTopics.Create;
try
oTopics.Add('sensors/#');
oTopics.Add('alerts/#');
MQTT.UnSubscribe(oTopics);
finally
oTopics.Free;
end;