TsgcWebSocketClientEventi › OnFragmented

OnFragmented Evento

Si attiva per ogni frammento ricevuto quando Options.FragmentedMessages è frgAll o frgOnlyFragmented.

Sintassi

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

Valore predefinito

Note

Per impostazione predefinita (Options.FragmentedMessages = frgOnlyBuffer) il client bufferizza i frammenti di un messaggio e genera OnMessage o OnBinary una volta ricevuto l'intero payload. Impostare la proprietà su frgOnlyFragmented per ricevere solo OnFragmented per ogni frammento, oppure su frgAll per ricevere OnFragmented per ogni frammento e poi OnMessage/OnBinary al completamento del messaggio. Il parametro Data è un TMemoryStream con i byte del frammento corrente, OpCode indica il tipo di frame originale (testo, binario, continuazione...), e Continuation è True finché sono attesi altri frammenti, False sull'ultimo frammento. Questo evento è utile per segnalare l'avanzamento di stream di grandi dimensioni.

Esempio


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

Torna agli Eventi