TsgcWSPClient_MQTT › Métodos › UnSubscribe
Remove uma ou mais assinaturas de tópico ativas da sessão MQTT atual.
function UnSubscribe(const aTopic: string; aUnsubscribeProperties: TsgcWSMQTTUnsubscribe_Properties = nil) : Word;
| Name | Type | Descrição |
|---|---|---|
aTopic | const string | Filtro de tópico exato, correspondente a uma chamada Subscribe anterior, a remover. |
aUnsubscribeProperties | TsgcWSMQTTUnsubscribe_Properties | Propriedades MQTT 5.0 opcionais (por exemplo, User Properties). Passe nil quando não forem necessárias. |
Identificador de pacote atribuído ao pacote UNSUBSCRIBE; correlacione-o com OnMQTTUnSubscribe para ler os códigos de motivo do broker. (Word)
Sobrecarga de tópico único. O filtro deve corresponder ao que foi originalmente passado a Subscribe, incluindo wildcards, caso contrário o broker reportará um reason code "No subscription existed". Mensagens pendentes já em trânsito ainda podem ser entregues após a chamada.
MQTT.UnSubscribe('sensors/+/temperature');
function UnSubscribe(aTopics: TsgcWSTopics): Word;
| Name | Type | Descrição |
|---|---|---|
aTopics | TsgcWSTopics | Coleção de filtros de tópico a descartar com um único pacote UNSUBSCRIBE. |
Identificador de pacote do pacote UNSUBSCRIBE em lote. (Word)
Sobrecarga em batch útil ao deslogar um cliente que rastreia muitos filtros, ou quando uma mudança de modo força o rewiring de várias assinaturas de uma só vez. Cada entrada na coleção produz seu próprio reason code no UNSUBACK do broker, reportado por meio de OnMQTTUnSubscribe.
oTopics := TsgcWSTopics.Create;
try
oTopics.Add('sensors/#');
oTopics.Add('alerts/#');
MQTT.UnSubscribe(oTopics);
finally
oTopics.Free;
end;