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;