TsgcWebSocketServer_HTTPAPI이벤트 › OnFragmented

OnFragmented Event

메시지의 프래그먼트가 수신될 때 발생합니다(Options.FragmentedMessages가 frgAll 또는 frgOnlyFragmented인 경우에만).

구문

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

기본값

설명

기본적으로(Options.FragmentedMessages = frgOnlyBuffer) 서버는 메시지의 프래그먼트를 버퍼링하고 전체 페이로드가 수신되면 OnMessage 또는 OnBinary를 발생시킵니다. 프래그먼트당 OnFragmented만 수신하려면 FragmentedMessages를 frgOnlyFragmented로 설정하고, 프래그먼트당 OnFragmented를 수신한 다음 메시지가 완성되면 OnMessage/OnBinary를 수신하려면 frgAll로 설정하십시오. Data 매개변수는 현재 프래그먼트의 바이트를 담은 TMemoryStream이며, OpCode는 원래 프레임 유형(텍스트, 바이너리, 연속...)을 나타내고, Continuation은 더 많은 프래그먼트가 예상되는 동안 True이고 마지막 프래그먼트에서는 False입니다. 이 이벤트는 대용량 업로드의 진행 상황을 보고하는 데 유용합니다.

예제


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

이벤트로 돌아가기