TsgcWSPServer_sgcMétodos › Broadcast

Broadcast Método

Difunde una carga útil de texto o flujo a todos los clientes conectados, opcionalmente filtrada por canal.

Sobrecargas

Sobrecarga 1

Sintaxis

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

Parámetros

NombreTipoDescripción
aMessagestringCarga útil de texto envuelta en el sobre sgc y entregada a los destinatarios a través de OnMessage.
aChannelstringFiltro de canal opcional. Cuando se suministra, solo los clientes suscritos a ese canal reciben la carga útil; déjelo vacío para llegar a cada conexión.
ExcludeStringLista de Guids de conexión separados por punto y coma que no deben recibir la difusión.
IncludeStringLista separada por punto y coma de GUIDs de conexión a los que se restringe la difusión, anulando el filtro de canal.

Observaciones

Sobrecarga de texto. Envía un envelope method=message a los destinatarios seleccionados. Cuando QoS es Level 1 o Level 2, el servidor almacena el mensaje en la lista pendiente y espera las confirmaciones por conexión, reenviando si es necesario; con QoS Level 0, el mensaje se transmite una vez sin seguimiento.

Ejemplo

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

Sobrecarga 2

Sintaxis

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

Parámetros

NombreTipoDescripción
aStreamTStreamCarga binaria enviada tal cual por el WebSocket; los destinatarios la reciben a través de OnBinary.
aChannelstringFiltro de canal opcional. Cuando se especifica, solo los clientes suscritos a ese canal reciben el frame.
ExcludeStringLista de Guids de conexión separados por punto y coma que no deben recibir el frame.
IncludeStringLista separada por punto y coma de los Guid de conexión a los que se restringe el frame.
aSizeIntegerTamaño de fragmento en bytes cuando la carga útil se fragmenta; pase 0 para enviar el flujo como un único frame.
aStreamingTwsStreamingEstrategia de streaming (stmNone, stmFragmented, stmCustom) utilizada para dividir el flujo en frames.

Observaciones

Sobrecarga binaria. Envía el stream directamente a los destinatarios seleccionados sin envolverlo en el sobre JSON sgc, de modo que los clientes reciben un frame binario sin procesar. A diferencia de la sobrecarga de texto, esta ruta no utiliza la lista pendiente de QoS; la entrega es de mejor esfuerzo sobre el transporte WebSocket subyacente.

Ejemplo

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

Volver a Métodos