TsgcWebSocketLoadBalancerServerイベント › OnClientFragmented

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;

イベントに戻る