TsgcWebSocketLoadBalancerServer › 이벤트 › OnClientBinary
다운스트림 클라이언트로부터 바이너리 프레임이 수신되어 선택된 백엔드 서버로 전달되기 전에 발생합니다.
property OnClientBinary: TsgcWSLBServerBinaryEvent;
// TsgcWSLBServerBinaryEvent = procedure(Connection: TsgcWSConnection; Data: TMemoryStream; var Handled: Boolean) of object
—
OnClientBinary은 백엔드 서버로 가는 도중에 밸런싱된 클라이언트로부터 수신된 모든 바이너리 WebSocket 프레임에 대해 발생합니다. Connection 매개변수는 다운스트림 클라이언트 세션이고 Data는 바이너리 페이로드입니다(위치 0, 해제하지 마십시오). Handled를 True로 설정하면 로드 밸런서에서 프레임을 소비하고 백엔드로 중계되는 것을 방지합니다. 로드 밸런서가 프레임을 변경 없이 전달하도록 하려면 False(기본값)로 두십시오. 이곳은 바이너리 트래픽을 검사, 감사 또는 다시 쓰거나, 상태 확인 스타일의 메시지를 단락시키거나, 백엔드 서버에 도달해서는 안 되는 페이로드를 삭제하기에 적합한 위치입니다.
procedure OnClientBinary(Connection: TsgcWSConnection; Data: TMemoryStream;
var Handled: Boolean);
begin
// drop empty frames instead of forwarding them
Handled := Data.Size = 0;
end;