TsgcWSPClient_sgcMethods › Subscribe

Subscribe Metoda

Subskrybuje klienta do niestandardowego kanału.

Składnia

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

Parametry

NazwaTypOpis
aChannelconst StringNazwa kanału, do którego należy się subskrybować.
aGuidconst StringOpcjonalny identyfikator GUID docelowej instancji protokołu sgc po stronie serwera. Należy pozostawić pusty, aby użyć wartości domyślnej.

Uwagi

Wysyła żądanie subskrypcji dla podanego kanału. Gdy serwer potwierdzi subskrypcję, wywoływane jest zdarzenie OnSubscription. Po subskrypcji wiadomości publikowane w kanale są dostarczane przez zdarzenie OnEvent.

aChannel jest dopasowywany przez serwer jako dokładny ciąg znaków. Symbole wieloznaczne w stylu MQTT, takie jak topic1/# czy topic1/+, nie są interpretowane: są traktowane jako dosłowne znaki w nazwie kanału, więc klient subskrybujący topic1/# nie otrzyma wiadomości publikowanych do topic1/sensorA.

Aby zasubskrybować kilka kanałów w jednym wywołaniu, należy oddzielić je przecinkiem:

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

Przecinek jest ogranicznikiem listy, więc nie może być częścią nazwy kanału. Ta sama składnia z listą oddzieloną przecinkami dotyczy również UnSubscribe oraz argumentów channel, exclude i include metod Broadcast i Publish.

Serwer może opcjonalnie rozwijać argument kanału za pomocą dopasowania maskowego (* i ?, nie składnia MQTT) zamiast dokładnego dopasowania. Zobacz TsgcWSPServer_sgc.UseMatchesMask. Aby uzyskać rzeczywiste filtry tematów MQTT z semantyką # i +, użyj TsgcWSPClient_MQTT.

Przykład

oProtocol.Subscribe('news');

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

Powrót do metod