TsgcWSPServer_sgcMetodi › Broadcast

Broadcast Metodo

Trasmette un payload testuale o in streaming a tutti i client connessi, con filtraggio opzionale per canale.

Overload

Overload 1

Sintassi

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

Parametri

NomeTipoDescrizione
aMessagestringPayload di testo racchiuso nell'envelope sgc e consegnato ai destinatari tramite OnMessage.
aChannelstringFiltro canale opzionale. Se fornito, solo i client sottoscritti a quel canale ricevono il payload; lasciare vuoto per raggiungere ogni connessione.
ExcludeStringElenco di Guid di connessione separati da punto e virgola che non devono ricevere il broadcast.
IncludeStringElenco separato da punto e virgola dei GUID di connessione a cui il broadcast è limitato, sovrascrivendo il filtro del canale.

Note

Overload testo. Invia un envelope method=message ai destinatari selezionati. Quando QoS è Level 1 o Level 2, il server memorizza il messaggio nell'elenco in sospeso e attende le conferme per connessione, inviandolo nuovamente se necessario; con QoS Level 0 il messaggio viene trasmesso una sola volta senza tracciamento.

Esempio

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

Sovraccarico 2

Sintassi

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

Parametri

NomeTipoDescrizione
aStreamTStreamPayload binario inviato così com'è sul WebSocket; i destinatari lo ricevono tramite OnBinary.
aChannelstringFiltro di canale opzionale. Quando fornito, solo i client sottoscritti a tale canale ricevono il frame.
ExcludeStringElenco di Guid di connessione separati da punto e virgola che non devono ricevere il frame.
IncludeStringElenco separato da punto e virgola dei GUID di connessione a cui il frame è limitato.
aSizeIntegerDimensione del chunk in byte quando il payload è frammentato; passare 0 per inviare lo stream come singolo frame.
aStreamingTwsStreamingStrategia di streaming (stmNone, stmFragmented, stmCustom) utilizzata per suddividere il flusso in frame.

Note

Overload binario. Invia lo stream direttamente ai destinatari selezionati senza racchiuderlo nell'envelope JSON sgc, quindi i client ricevono un frame binario raw. A differenza dell'overload testuale, questo percorso non utilizza la lista di QoS in sospeso; la consegna è best-effort sul trasporto WebSocket sottostante.

Esempio

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

Torna ai Metodi