TsgcWSPClient_MQTT › Métodos › Subscribe
Assina o cliente a um ou mais filtros de tópico no QoS solicitado.
function Subscribe(const aTopic: String; aQoS: TmqttQoS = mtqsAtMostOnce; const aSubscribeProperties: TsgcWSMQTTSubscribe_Properties = nil) : Word;
| Name | Type | Descrição |
|---|---|---|
aTopic | const String | Filtro de tópico a ser assinado; wildcards de nível único (+) e de múltiplos níveis (#) são suportados. |
aQoS | TmqttQoS | QoS máximo que o broker deve entregar para mensagens correspondentes. Padrão mtqsAtMostOnce. |
aSubscribeProperties | const TsgcWSMQTTSubscribe_Properties | Propriedades MQTT 5.0 opcionais, como Subscription Identifier, flag No Local, Retain As Published ou Retain Handling. Passe nil para usar os padrões. |
Identificador de pacote do pacote SUBSCRIBE. Correlacione-o com a concessão reportada através de OnMQTTSubscribe para conhecer o QoS que o broker efetivamente atribuiu. (Word)
Sobrecarga de tópico único, a forma mais comum. As mensagens de entrada são expostas por meio de OnMQTTPublish (ou OnMQTTPublishEx para MQTT 5.0). O broker pode reduzir o QoS se não suportar o nível solicitado ou se regras de ACL se aplicarem.
MQTT.Subscribe('sensors/+/temperature', mtqsAtLeastOnce);
function Subscribe(aTopics: TsgcWSTopics): Word;
| Name | Type | Descrição |
|---|---|---|
aTopics | TsgcWSTopics | Coleção de filtros de tópico com configurações individuais de QoS, enviada como um único pacote SUBSCRIBE. |
Identificador de pacote do pacote SUBSCRIBE em batch; utilizado para correlacionar todas as concessões recebidas através de OnMQTTSubscribe. (Word)
Sobrecarga em lote que assina vários filtros em uma única ida e volta. Prefira-a a um laço de chamadas de tópico único para reduzir a comunicação de rede e dar ao broker a chance de retornar uma lista completa de códigos de motivo em um único SUBACK.
oTopics := TsgcWSTopics.Create;
try
oTopics.Add('sensors/#', mtqsAtLeastOnce);
oTopics.Add('alerts/#', mtqsExactlyOnce);
MQTT.Subscribe(oTopics);
finally
oTopics.Free;
end;