TsgcWebSocketLoadBalancerServer › イベント › OnClientFragmented
ダウンストリームクライアントからフラグメント化されたバイナリフレームを受信し、バックエンドサーバーに転送する前に発生します。
property OnClientFragmented: TsgcWSLBServerBinaryEvent;
// TsgcWSLBServerBinaryEvent = procedure(Connection: TsgcWSConnection; Data: TMemoryStream; var Handled: Boolean) of object
—
OnClientFragmented は、ロードバランサーがクライアントからフラグメント化された WebSocket メッセージを受信したときに発生します(基盤となるサーバーの Options.FragmentedMessages で有効化)。Connection はダウンストリームセッションで、Data は現在のフラグメントのペイロードを保持します。Handled を True に設定すると、フラグメントをロードバランサーで消費してバックエンドへの転送を停止します。False のままにすると、ロードバランサーはフラグメントをそのままリレーします。典型的な用途は、メッセージ全体を再組み立てすることなく、非常に大きなアップロードの軽量な検査やフィルタリングです。
procedure OnClientFragmented(Connection: TsgcWSConnection; Data: TMemoryStream;
var Handled: Boolean);
begin
Log(Format('Fragment %d bytes from %s', [Data.Size, Connection.Guid]));
Handled := False;
end;