TsgcWSPClient_sgc › Métodos › Subscribe

Subscribe Método

Assina o cliente a um canal personalizado.

Sintaxe

procedure Subscribe(const aChannel: String; const aGuid: String = '');

Parâmetros

NameTypeDescrição
aChannelconst StringNome do canal a ser assinado.
aGuidconst StringGuid opcional da instância de protocolo sgc do lado do servidor de destino. Deixe vazio para utilizar o padrão.

Observações

Envia uma requisição de subscribe para o canal fornecido. Quando o servidor confirma a subscrição, o evento OnSubscription é disparado. Após a subscrição, as mensagens publicadas no canal são entregues através de OnEvent.

aChannel é comparado pelo servidor como uma string exata. Wildcards no estilo MQTT, como topic1/# ou topic1/+, não são interpretados: são tratados como caracteres literais no nome do canal, de modo que um cliente inscrito em topic1/# não recebe mensagens publicadas em topic1/sensorA.

Para se inscrever em vários canais em uma única chamada, separe-os com vírgula:

oProtocol.Subscribe('topic1/a,topic1/b,topic1/c');

A vírgula é o delimitador da lista, portanto não pode fazer parte do nome de um canal. A mesma sintaxe delimitada por vírgula se aplica a UnSubscribe e aos argumentos de canal, exclude e include de Broadcast e Publish.

O servidor pode, opcionalmente, expandir um argumento de canal usando correspondência por máscara (* e ?, não sintaxe MQTT) em vez de uma correspondência exata. Veja TsgcWSPServer_sgc.UseMatchesMask. Para filtros de tópico MQTT reais com semântica de # e +, utilize TsgcWSPClient_MQTT.

Exemplo

oProtocol.Subscribe('news');

// multiple channels in one call
oProtocol.Subscribe('topic1/a,topic1/b,topic1/c');

Voltar para Métodos