TsgcWSPClient_MQTTMétodos › UnSubscribe

UnSubscribe Method

Remove uma ou mais assinaturas de tópico ativas da sessão MQTT atual.

Overloads

Overload 1

Sintaxe

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

Parâmetros

NameTypeDescrição
aTopicconst stringFiltro de tópico exato, correspondente a uma chamada Subscribe anterior, a remover.
aUnsubscribePropertiesTsgcWSMQTTUnsubscribe_PropertiesPropriedades MQTT 5.0 opcionais (por exemplo, User Properties). Passe nil quando não forem necessárias.

Valor de retorno

Identificador de pacote atribuído ao pacote UNSUBSCRIBE; correlacione-o com OnMQTTUnSubscribe para ler os códigos de motivo do broker. (Word)

Observações

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.

Exemplo

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

Sobrecarga 2

Sintaxe

function UnSubscribe(aTopics: TsgcWSTopics): Word;

Parâmetros

NameTypeDescrição
aTopicsTsgcWSTopicsColeção de filtros de tópico a descartar com um único pacote UNSUBSCRIBE.

Valor de retorno

Identificador de pacote do pacote UNSUBSCRIBE em lote. (Word)

Observações

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.

Exemplo

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

Voltar para Métodos