TsgcWSPServer_sgc › Metody › Broadcast
Rozgłasza tekstowy lub strumieniowy ładunek do wszystkich podłączonych klientów, opcjonalnie filtrując według kanału.
procedure Broadcast(aMessage: string; aChannel: string = ''; Exclude: String = ''; Include: String = '');
| Nazwa | Typ | Opis |
|---|---|---|
aMessage | string | Ładunek tekstowy opakowany w kopertę sgc i dostarczany do odbiorców za pomocą OnMessage. |
aChannel | string | Opcjonalny 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. |
Exclude | String | Rozdzielona średnikami lista identyfikatorów GUID połączeń, które nie powinny otrzymywać transmisji. |
Include | String | Rozdzielona średnikami lista identyfikatorów GUID połączeń, do których ograniczone jest rozgłoszenie, zastępująca filtr kanału. |
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.
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);
| Nazwa | Typ | Opis |
|---|---|---|
aStream | TStream | Binarny ładunek wysyłany bez zmian przez WebSocket; odbiorcy otrzymują go przez OnBinary. |
aChannel | string | Opcjonalny filtr kanału. Gdy jest podany, ramkę otrzymują tylko klienci subskrybujący dany kanał. |
Exclude | String | Rozdzielona średnikami lista identyfikatorów Guid połączeń, które nie mogą otrzymać ramki. |
Include | String | Rozdzielana średnikami lista identyfikatorów GUID połączeń, do których ramka jest ograniczona. |
aSize | Integer | Rozmiar fragmentu w bajtach podczas fragmentowania ładunku; wartość 0 powoduje wysłanie strumienia jako jednej ramki. |
aStreaming | TwsStreaming | Strategia strumieniowania (stmNone, stmFragmented, stmCustom) używana do podziału strumienia na ramki. |
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.
oStream := TFileStream.Create('image.png', fmOpenRead);
try
oProtocol.Broadcast(oStream, 'news');
finally
oStream.Free;
end;