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;