TsgcWSPClient_sgc › Metodi › Subscribe

Subscribe Metodo

Iscrive il client a un canale personalizzato.

Sintassi

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

Parametri

NomeTipoDescrizione
aChannelconst StringNome del canale a cui iscriversi.
aGuidconst StringGuid opzionale dell'istanza del protocollo sgc lato server di destinazione. Lasciare vuoto per utilizzare quella predefinita.

Note

Invia una richiesta di sottoscrizione per il canale specificato. Quando il server conferma la sottoscrizione, si attiva l'evento OnSubscription. Dopo la sottoscrizione, i messaggi pubblicati sul canale vengono consegnati tramite OnEvent.

aChannel viene confrontato dal server come una stringa esatta. I wildcard in stile MQTT come topic1/# o topic1/+ non vengono interpretati: sono trattati come caratteri letterali nel nome del canale, quindi un client sottoscritto a topic1/# non riceve i messaggi pubblicati su topic1/sensorA.

Per iscriversi a più canali con un'unica chiamata, separarli con una virgola:

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

La virgola è il delimitatore dell'elenco, quindi non può far parte del nome di un canale. La stessa sintassi con delimitatore virgola si applica a UnSubscribe e agli argomenti channel, exclude e include di Broadcast e Publish.

Il server può opzionalmente espandere un argomento channel utilizzando la corrispondenza per maschera (* e ?, non sintassi MQTT) invece di una corrispondenza esatta. Vedere TsgcWSPServer_sgc.UseMatchesMask. Per veri filtri di topic MQTT con la semantica di # e +, utilizzare invece TsgcWSPClient_MQTT.

Esempio

oProtocol.Subscribe('news');

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

Torna ai Metodi