TsgcWSPServer_sgc › Methoden › Broadcast
Broadcastet eine Text- oder Stream-Payload an alle verbundenen Clients, optional nach Channel gefiltert.
procedure Broadcast(aMessage: string; aChannel: string = ''; Exclude: String = ''; Include: String = '');
| Name | Typ | Beschreibung |
|---|---|---|
aMessage | string | Text-Payload, eingebettet in den sgc-Envelope und über OnMessage an die Empfänger zugestellt. |
aChannel | string | Optionaler Kanalfilter. Wenn angegeben, erhalten nur Clients, die diesen Kanal abonniert haben, die Payload; leer lassen, um jede Verbindung zu erreichen. |
Exclude | String | Durch Semikolon getrennte Liste von Verbindungs-Guids, die den Broadcast nicht erhalten dürfen. |
Include | String | Durch Semikolon getrennte Liste von Verbindungs-Guids, auf die der Broadcast beschränkt ist, was den Kanalfilter überschreibt. |
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.
oProtocol.Broadcast('hello everyone');
oProtocol.Broadcast('channel update', 'news');
procedure Broadcast(aStream: TStream; aChannel: string = ''; Exclude: String = ''; Include: String = ''; aSize: Integer = 0; aStreaming: TwsStreaming = stmNone);
| Name | Typ | Beschreibung |
|---|---|---|
aStream | TStream | Binäre Nutzlast, die unverändert über den WebSocket gesendet wird; Empfänger erhalten sie über OnBinary. |
aChannel | string | Optionaler Kanalfilter. Wenn angegeben, erhalten nur Clients, die diesen Kanal abonniert haben, den Frame. |
Exclude | String | Durch Semikolon getrennte Liste von Verbindungs-Guids, die den Frame nicht erhalten dürfen. |
Include | String | Semikolon-getrennte Liste von Verbindungs-Guids, auf die der Frame beschränkt ist. |
aSize | Integer | Chunk-Größe in Bytes, wenn die Payload fragmentiert ist; übergeben Sie 0, um den Stream als einen einzigen Frame zu senden. |
aStreaming | TwsStreaming | Streaming-Strategie (stmNone, stmFragmented, stmCustom), die zum Zerlegen des Streams in Frames verwendet wird. |
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.
oStream := TFileStream.Create('image.png', fmOpenRead);
try
oProtocol.Broadcast(oStream, 'news');
finally
oStream.Free;
end;