TsgcWSPServer_sgcMéthodes › Broadcast

Broadcast Méthode

Diffuse un payload texte ou flux à tous les clients connectés, avec filtrage optionnel par canal.

Surcharges

Surcharge 1

Syntaxe

procedure Broadcast(aMessage: string; aChannel: string = ''; Exclude: String = ''; Include: String = '');

Paramètres

NomTypeDescription
aMessagestringCharge utile textuelle encapsulée dans l'enveloppe sgc et livrée aux destinataires via OnMessage.
aChannelstringFiltre de canal optionnel. Lorsqu'il est fourni, seuls les clients abonnés à ce canal reçoivent la charge utile ; laissez vide pour atteindre toutes les connexions.
ExcludeStringListe séparée par des points-virgules des Guids de connexion qui ne doivent pas recevoir la diffusion.
IncludeStringListe séparée par des points-virgules des GUID de connexions auxquels la diffusion est restreinte, remplaçant le filtre de canal.

Remarques

Surcharge texte. Envoie une enveloppe method=message aux destinataires sélectionnés. Lorsque la QoS est de niveau 1 ou niveau 2, le serveur stocke le message dans la liste en attente et attend les accusés de réception par connexion, en renvoyant si nécessaire ; avec la QoS de niveau 0, le message est transmis une seule fois sans suivi.

Exemple

oProtocol.Broadcast('hello everyone');
oProtocol.Broadcast('channel update', 'news');

Surcharge 2

Syntaxe

procedure Broadcast(aStream: TStream; aChannel: string = ''; Exclude: String = ''; Include: String = ''; aSize: Integer = 0; aStreaming: TwsStreaming = stmNone);

Paramètres

NomTypeDescription
aStreamTStream Charge utile binaire envoyée telle quelle sur le WebSocket ; les destinataires la reçoivent via OnBinary.
aChannelstringFiltre de canal facultatif. Lorsqu'il est fourni, seuls les clients abonnés à ce canal reçoivent la trame.
ExcludeStringListe de Guid de connexions séparés par des points-virgules qui ne doivent pas recevoir la trame.
IncludeStringListe séparée par des points-virgules des Guids de connexion auxquels la trame est restreinte.
aSizeIntegerTaille des fragments en octets lorsque la charge utile est fragmentée ; passez 0 pour envoyer le flux en une seule trame.
aStreaming TwsStreamingStratégie de streaming (stmNone, stmFragmented, stmCustom) utilisée pour découper le flux en trames.

Remarques

Surcharge binaire. Distribue le flux directement aux destinataires sélectionnés sans l'encapsuler dans l'enveloppe JSON sgc, de sorte que les clients voient une trame binaire brute. Contrairement à la surcharge texte, ce chemin n'utilise pas la liste en attente QoS ; la livraison est au mieux possible sur le transport WebSocket sous-jacent.

Exemple

oStream := TFileStream.Create('image.png', fmOpenRead);
try
  oProtocol.Broadcast(oStream, 'news');
finally
  oStream.Free;
end;

Retour aux méthodes