TsgcWSPClient_sgc › Methoden › Subscribe

Subscribe Methode

Abonniert den Client einem benutzerdefinierten Channel.

Syntax

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

Parameter

NameTypBeschreibung
aChannelconst StringName des zu abonnierenden Kanals.
aGuidconst StringOptionale Guid der serverseitigen sgc-Protokoll-Zielinstanz. Leer lassen, um die Standardinstanz zu verwenden.

Hinweise

Sendet eine Subscribe-Anfrage für den angegebenen Kanal. Wenn der Server das Abonnement bestätigt, wird das Ereignis OnSubscription ausgelöst. Nach dem Abonnieren werden auf dem Kanal veröffentlichte Nachrichten über OnEvent zugestellt.

aChannel wird vom Server als exakte Zeichenkette abgeglichen. MQTT-artige Wildcards wie topic1/# oder topic1/+ werden nicht interpretiert: Sie werden als literale Zeichen im Kanalnamen behandelt, sodass ein Client, der topic1/# abonniert hat, keine Nachrichten empfängt, die an topic1/sensorA veröffentlicht werden.

Um mehrere Kanäle in einem Aufruf zu abonnieren, trennen Sie sie durch ein Komma:

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

Das Komma ist das Trennzeichen der Liste und kann daher nicht Teil eines Kanalnamens sein. Dieselbe kommagetrennte Syntax gilt für UnSubscribe sowie für die Argumente channel, exclude und include von Broadcast und Publish.

Der Server kann ein Kanalargument optional per Mask-Matching (* und ?, keine MQTT-Syntax) statt per exaktem Abgleich erweitern. Siehe TsgcWSPServer_sgc.UseMatchesMask. Für echte MQTT-Themenfilter mit #- und +-Semantik verwenden Sie stattdessen TsgcWSPClient_MQTT.

Beispiel

oProtocol.Subscribe('news');

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

Zurück zu Methoden