TsgcWSPServer_sgcMethoden › Broadcast

Broadcast Methode

Broadcastet eine Text- oder Stream-Payload an alle verbundenen Clients, optional nach Channel gefiltert.

Überladungen

Overload 1

Syntax

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

Parameter

NameTypBeschreibung
aMessagestringText-Payload, eingebettet in den sgc-Envelope und über OnMessage an die Empfänger zugestellt.
aChannelstringOptionaler Kanalfilter. Wenn angegeben, erhalten nur Clients, die diesen Kanal abonniert haben, die Payload; leer lassen, um jede Verbindung zu erreichen.
ExcludeStringDurch Semikolon getrennte Liste von Verbindungs-Guids, die den Broadcast nicht erhalten dürfen.
IncludeStringDurch Semikolon getrennte Liste von Verbindungs-Guids, auf die der Broadcast beschränkt ist, was den Kanalfilter überschreibt.

Hinweise

Text-Überladung. Sendet einen method=message-Umschlag an die ausgewählten Empfänger. Wenn QoS auf Level 1 oder Level 2 gesetzt ist, speichert der Server die Nachricht in der Pending-Liste und wartet auf Bestätigungen pro Verbindung, wobei er bei Bedarf erneut sendet; bei QoS Level 0 wird die Nachricht einmal ohne Nachverfolgung übertragen.

Beispiel

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

Überladung 2

Syntax

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

Parameter

NameTypBeschreibung
aStreamTStreamBinäre Nutzlast, die unverändert über den WebSocket gesendet wird; Empfänger erhalten sie über OnBinary.
aChannelstringOptionaler Kanalfilter. Wenn angegeben, erhalten nur Clients, die diesen Kanal abonniert haben, den Frame.
ExcludeStringDurch Semikolon getrennte Liste von Verbindungs-Guids, die den Frame nicht erhalten dürfen.
IncludeStringSemikolon-getrennte Liste von Verbindungs-Guids, auf die der Frame beschränkt ist.
aSizeIntegerChunk-Größe in Bytes, wenn die Payload fragmentiert ist; übergeben Sie 0, um den Stream als einen einzigen Frame zu senden.
aStreamingTwsStreamingStreaming-Strategie (stmNone, stmFragmented, stmCustom), die zum Zerlegen des Streams in Frames verwendet wird.

Hinweise

Binär-Überladung. Versendet den Stream direkt an ausgewählte Empfänger, ohne ihn in den sgc-JSON-Envelope zu verpacken, sodass Clients einen rohen Binär-Frame sehen. Anders als die Text-Überladung verwendet dieser Pfad nicht die QoS-Liste ausstehender Nachrichten; die Zustellung erfolgt nach bestem Bemühen auf dem zugrunde liegenden WebSocket-Transport.

Beispiel

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

Zurück zu Methoden