TsgcWSPClient_sgc › Méthodes › Subscribe

Subscribe Méthode

Abonne le client à un canal personnalisé.

Syntaxe

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

Paramètres

NomTypeDescription
aChannelconst String Nom du canal auquel s'abonner.
aGuid const String Guid facultatif de l'instance de protocole sgc côté serveur cible. Laissez vide pour utiliser la valeur par défaut.

Remarques

Envoie une requête d'abonnement pour le canal donné. Lorsque le serveur confirme l'abonnement, l'événement OnSubscription se déclenche. Après l'abonnement, les messages publiés sur le canal sont livrés via OnEvent.

aChannel est comparé par le serveur comme une chaîne exacte. Les jokers de type MQTT tels que topic1/# ou topic1/+ ne sont pas interprétés : ils sont traités comme des caractères littéraux dans le nom du canal, de sorte qu'un client abonné à topic1/# ne reçoit pas les messages publiés sur topic1/sensorA.

Pour s'abonner à plusieurs canaux en un seul appel, séparez-les par une virgule :

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

La virgule est le délimiteur de liste, elle ne peut donc pas faire partie d'un nom de canal. La même syntaxe délimitée par des virgules s'applique à UnSubscribe ainsi qu'aux arguments channel, exclude et include de Broadcast et Publish.

Le serveur peut, en option, développer un argument de canal à l'aide d'une correspondance par masque (* et ?, pas la syntaxe MQTT) au lieu d'une correspondance exacte. Voir TsgcWSPServer_sgc.UseMatchesMask. Pour de vrais filtres de sujets MQTT avec la sémantique # et +, utilisez plutôt TsgcWSPClient_MQTT.

Exemple

oProtocol.Subscribe('news');

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

Retour aux méthodes