TsgcWebSocketClientEventos › OnFragmented

OnFragmented Evento

Se dispara para cada fragmento recibido 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 cliente almacena en búfer los fragmentos de un mensaje y genera OnMessage o OnBinary una vez que se ha recibido la carga completa. Establezca la propiedad 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 el progreso de flujos grandes.

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