TsgcWSPServer_sgcMetody › Broadcast

Broadcast Metoda

Rozgłasza tekstowy lub strumieniowy ładunek do wszystkich podłączonych klientów, opcjonalnie filtrując według kanału.

Przeciążenia

Przeciążenie 1

Składnia

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

Parametry

NazwaTypOpis
aMessagestringŁadunek tekstowy opakowany w kopertę sgc i dostarczany do odbiorców za pomocą OnMessage.
aChannelstringOpcjonalny filtr kanału. Jeśli zostanie podany, ładunek trafia wyłącznie do klientów subskrybujących ten kanał; pozostawienie pola pustego oznacza dotarcie do każdego połączenia.
ExcludeStringRozdzielona średnikami lista identyfikatorów GUID połączeń, które nie powinny otrzymywać transmisji.
IncludeStringRozdzielona średnikami lista identyfikatorów GUID połączeń, do których ograniczone jest rozgłoszenie, zastępująca filtr kanału.

Uwagi

Przeciążenie tekstowe. Wysyła kopertę method=message do wybranych odbiorców. W przypadku QoS poziomu 1 lub 2 serwer przechowuje wiadomość na liście oczekujących i czeka na potwierdzenie od każdego połączenia, ponownie wysyłając w razie konieczności; w przypadku QoS poziomu 0 wiadomość jest przesyłana jednorazowo bez śledzenia.

Przykład

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

Przeciążenie 2

Składnia

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

Parametry

NazwaTypOpis
aStreamTStreamBinarny ładunek wysyłany bez zmian przez WebSocket; odbiorcy otrzymują go przez OnBinary.
aChannelstringOpcjonalny filtr kanału. Gdy jest podany, ramkę otrzymują tylko klienci subskrybujący dany kanał.
ExcludeStringRozdzielona średnikami lista identyfikatorów Guid połączeń, które nie mogą otrzymać ramki.
IncludeStringRozdzielana średnikami lista identyfikatorów GUID połączeń, do których ramka jest ograniczona.
aSizeIntegerRozmiar fragmentu w bajtach podczas fragmentowania ładunku; wartość 0 powoduje wysłanie strumienia jako jednej ramki.
aStreamingTwsStreamingStrategia strumieniowania (stmNone, stmFragmented, stmCustom) używana do podziału strumienia na ramki.

Uwagi

Przeciążenie binarne. Wysyła strumień bezpośrednio do wybranych odbiorców bez opakowywania go w kopertę JSON sgc, dzięki czemu klienci widzą surową ramkę binarną. W przeciwieństwie do przeciążenia tekstowego ta ścieżka nie korzysta z listy oczekujących QoS; dostarczanie odbywa się w trybie best-effort przez bazowy transport WebSocket.

Przykład

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

Powrót do metod