TsgcWSPClient_MQTT › Méthodes › UnSubscribe
Supprime un ou plusieurs abonnements de sujets actifs de la session MQTT en cours.
function UnSubscribe(const aTopic: string; aUnsubscribeProperties: TsgcWSMQTTUnsubscribe_Properties = nil) : Word;
| Nom | Type | Description |
|---|---|---|
aTopic | const string | Filtre de topic exact, correspondant à un appel Subscribe précédent, à supprimer. |
aUnsubscribeProperties | TsgcWSMQTTUnsubscribe_Properties
| Propriétés MQTT 5.0 optionnelles (par exemple Propriétés utilisateur). Passez nil si non requis. |
Identifiant de paquet attribué au paquet UNSUBSCRIBE ; corrélez-le avec OnMQTTUnSubscribe pour lire les codes de raison du broker. (Word)
Surcharge à sujet unique. Le filtre doit correspondre à celui initialement passé à Subscribe, y compris les caractères génériques, sinon le broker signalera un code de raison « No subscription existed ». Les messages en attente déjà en transit peuvent encore être livrés après l'appel.
MQTT.UnSubscribe('sensors/+/temperature');
function UnSubscribe(aTopics: TsgcWSTopics): Word;
| Nom | Type | Description |
|---|---|---|
aTopics | TsgcWSTopics
| Collection de filtres de sujet à supprimer avec un seul paquet UNSUBSCRIBE. |
Identifiant de paquet du paquet UNSUBSCRIBE en lot. (Word)
Surcharge par lot utile lors de la désinscription d'un client qui suit de nombreux filtres, ou lorsqu'un changement de mode force le recâblage de plusieurs souscriptions à la fois. Chaque entrée de la collection produit son propre code de raison dans l'UNSUBACK du broker, signalé via OnMQTTUnSubscribe.
oTopics := TsgcWSTopics.Create;
try
oTopics.Add('sensors/#');
oTopics.Add('alerts/#');
MQTT.UnSubscribe(oTopics);
finally
oTopics.Free;
end;