TsgcWSPClient_sgc › Metodi › Subscribe
Iscrive il client a un canale personalizzato.
procedure Subscribe(const aChannel: String; const aGuid: String = '');
| Nome | Tipo | Descrizione |
|---|---|---|
aChannel | const String | Nome del canale a cui iscriversi. |
aGuid | const String | Guid opzionale dell'istanza del protocollo sgc lato server di destinazione. Lasciare vuoto per utilizzare quella predefinita. |
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.
oProtocol.Subscribe('news');
// multiple channels in one call
oProtocol.Subscribe('topic1/a,topic1/b,topic1/c');