HCWebSocketBinaryMessageFragmentFunction
Windows PC 및 XBOX 콘솔의 레거시 동작에서, 구성된 수신 버퍼 크기를 준수하기 위해 크기가 초과된 수신 메시지가 원시 조각으로 전달될 때 호출되는 애플리케이션 정의 콜백입니다. HCWebSocketSetBinaryMessageFragmentEventFunction으로 설정합니다.구문
매개 변수
websocket _In_형식: HCWebsocketHandle 메시지를 받은 WebSocket의 핸들입니다. payloadBytes _In_reads_bytes_(payloadSize)
형식: const uint8_t* 이 메시지 조각의 페이로드입니다. payloadSize _In_
형식: uint32_t 이 조각의 크기(바이트)입니다. isLastFragment _In_
형식: bool 메시지의 마지막 조각이면
true이고, 조각이 더 이어지면 false입니다.
functionContext _In_형식: void* HCWebSocketCreate에 전달한 클라이언트 컨텍스트입니다.
반환 값
형식: void설명
Windows PC 및 XBOX 콘솔의 레거시 동작에서 libHttpClient는 수신 메시지가 수신 버퍼보다 클 때 이 콜백을 호출합니다. 기본 수신 버퍼는 20,480바이트이며, HCWebSocketSetMaxReceiveBufferSize로 변경할 수 있습니다. 콜백은 원시 바이트를 받으며, 크기가 초과된 UTF-8 텍스트 메시지도 이 콜백을 통해 도착합니다. 이 콜백이 없으면 크기가 초과된 메시지는 전체 메시지 콜백에 전달되지 않습니다. isLastFragment가true가 될 때까지 조각을 버퍼에 누적한 다음 완전한 메시지를 처리하세요.
조각 콜백은 레거시 동작에서만 지원됩니다. 레거시 동작은 HCWebSocketSetOptions를 호출하지 않거나 HCWebSocketOptions::LegacySemantics로 호출할 때 적용됩니다. HCWebSocketSetOptions가 다른 값으로 성공한 후 적용되는 결정적 동작에서는 지원되지 않습니다. 자세한 내용은 HCWebSocketOptions를 참조하세요.
이 콜백은 HCWebSocketConnectAsync에 전달한 XTaskQueue 또는 XTaskQueue 완료 포트를 통해 디스패치된다는 보장이 없습니다. 공급자가 관리하는 스레드 또는 기타 구현에서 정의한 스레드에서 실행될 수 있습니다. 필요한 스레드 안전성을 확보하거나 원하는 실행 컨텍스트로 작업을 마샬링하는 것은 처리기의 책임입니다.
요구 사항
헤더: httpClient.h 라이브러리: libHttpClient.lib 지원 플랫폼: Windows, XBOX One 제품군 콘솔 및 XBOX Series 콘솔참고 항목
httpClientHCWebSocketSetBinaryMessageFragmentEventFunction
HCWebSocketSetMaxReceiveBufferSize
HCWebSocketOptions
