TsgcWSPClient_sgc › Methoden › Subscribe
Abonneert de client op een aangepast kanaal.
procedure Subscribe(const aChannel: String; const aGuid: String = '');
| Naam | Type | Beschrijving |
|---|---|---|
aChannel | const String | Naam van het te abonneren kanaal. |
aGuid | const String | Optionele GUID van de doelserver-side sgc-protocolinstantie. Laat leeg om de standaard te gebruiken. |
Verzendt een abonnementsverzoek voor het opgegeven kanaal. Wanneer de server het abonnement bevestigt, wordt de OnSubscription-gebeurtenis geactiveerd. Na het abonneren worden berichten gepubliceerd naar het kanaal afgeleverd via OnEvent.
aChannel wordt door de server vergeleken als een exacte tekenreeks. MQTT-achtige jokertekens zoals topic1/# of topic1/+ worden niet geïnterpreteerd: ze worden behandeld als letterlijke tekens in de kanaalnaam, zodat een client die is geabonneerd op topic1/# geen berichten ontvangt die worden gepubliceerd naar topic1/sensorA.
Om u in één aanroep op meerdere kanalen te abonneren, scheidt u ze met een komma:
oProtocol.Subscribe('topic1/a,topic1/b,topic1/c');
De komma is het scheidingsteken van de lijst en kan dus geen deel uitmaken van een kanaalnaam. Dezelfde door komma's gescheiden syntaxis geldt voor UnSubscribe en voor de channel-, exclude- en include-argumenten van Broadcast en Publish.
De server kan een kanaalargument optioneel uitbreiden met maskervergelijking (* en ?, geen MQTT-syntaxis) in plaats van een exacte overeenkomst. Zie TsgcWSPServer_sgc.UseMatchesMask. Gebruik voor echte MQTT-topicfilters met #- en +-semantiek in plaats daarvan TsgcWSPClient_MQTT.
oProtocol.Subscribe('news');
// multiple channels in one call
oProtocol.Subscribe('topic1/a,topic1/b,topic1/c');