TsgcWebSocketProxyServer › Eventos › OnFragmented

OnFragmented Evento

Se dispara cuando se recibe un fragmento de un mensaje de un cliente descendente (solo cuando Options.FragmentedMessages es frgAll o frgOnlyFragmented).

Sintaxis

property OnFragmented: TsgcWSFragmentedEvent;
// TsgcWSFragmentedEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream; const OpCode: TOpCode; const Continuation: Boolean) of object

Valor Predeterminado

—

Observaciones

De forma predeterminada (Options.FragmentedMessages = frgOnlyBuffer), el proxy almacena en búfer los fragmentos de un mensaje descendente y activa OnMessage o OnBinary una vez que se ha recibido el payload completo, y lo reenvía hacia arriba. Establezca FragmentedMessages en frgOnlyFragmented para recibir solo OnFragmented por fragmento, o en frgAll para recibir OnFragmented por fragmento y luego OnMessage/OnBinary cuando el mensaje esté completo. El parámetro Data es un TMemoryStream con los bytes del fragmento actual, OpCode indica el tipo de trama original (texto, binario, continuación...) y Continuation es True mientras se esperan más fragmentos y False en el fragmento final. Este evento es útil para informar del progreso de las cargas grandes que se están procesando en el proxy.

Ejemplo


procedure OnFragmented(Connection: TsgcWSConnection; const Data: TMemoryStream;
  const OpCode: TOpCode; const Continuation: Boolean);
begin
  ShowProgress(Data.Size);
  if not Continuation then
    SaveStream(Data);
end;

Volver a Eventos