TsgcWebSocketHTTPServerEventi › OnFragmented

OnFragmented Evento

Generato quando viene ricevuto un frammento di un messaggio (solo 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 server memorizza i frammenti di un messaggio WebSocket e genera OnMessage o OnBinary una volta ricevuto l'intero payload. Impostare FragmentedMessages su frgOnlyFragmented per ricevere solo OnFragmented per ogni frammento, o 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 e False sull'ultimo frammento. Questo evento è utile per segnalare l'avanzamento di upload 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