TsgcWebSocketHTTPServerEventos › OnFragmented

OnFragmented Evento

Se activa cuando se recibe un fragmento de un mensaje (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 servidor almacena en búfer los fragmentos de un mensaje WebSocket y activa OnMessage o OnBinary una vez que se ha recibido la carga útil completa. 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 el progreso de grandes cargas.

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