TsgcWebSocketLoadBalancerServer › Events › OnBinary
ロードバランサー自身がダウンストリームセッションの 1 つでバイナリ WebSocket フレームを受信したときに発火します。
property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object
—
OnBinaryは、基盤となるHTTP/WebSocketサーバーから継承され、ロードバランサーで終端された接続(例えば、利用可能なバックエンドがなかったため転送されなかった接続や、LoadBalancerが直接処理するプロトコルにアタッチされた接続)で完全なバイナリフレームが受信されたときに発生します。Dataストリームにはペイロードが含まれ、その位置は0です。一度だけ読み取り、解放しないでください。バッファはサーバーが所有しています。バックエンドサーバーにプロキシされている接続で到着するデータについては、代わりにOnClientBinaryを使用してください。これは、転送される前のクライアントごとのフレームを公開します。
procedure OnBinary(Connection: TsgcWSConnection; const Data: TMemoryStream);
begin
Log(Format('Received %d bytes from %s', [Data.Size, Connection.Guid]));
end;