TsgcWebSocketClient이벤트 › OnFragmented

OnFragmented Event

Options.FragmentedMessages가 frgAll 또는 frgOnlyFragmented일 때 수신되는 모든 프래그먼트에 대해 발생합니다.

구문

__property TsgcWSFragmentedEvent OnFragmented;
// typedef void __fastcall (__closure *TsgcWSFragmentedEvent)(TsgcWSConnection * Connection, const TMemoryStream * Data, const TOpCode OpCode, const bool Continuation);

기본값

설명

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

예제


void OnFragmented(TsgcWSConnection *Connection, const TMemoryStream *Data,
  const TOpCode OpCode, const bool Continuation)
{
  ShowProgress(Data->Size);
  if (Continuation == false)
    SaveStream(Data);
}

이벤트로 돌아가기