TsgcWebSocketLoadBalancerServer › 事件 › OnClientFragmented
从下游客户端接收到分片二进制帧并转发给后端服务器之前触发。
property OnClientFragmented: TsgcWSLBServerBinaryEvent;
// TsgcWSLBServerBinaryEvent = procedure(Connection: TsgcWSConnection; Data: TMemoryStream; var Handled: Boolean) of object
—
每当负载均衡器从客户端收到分片 WebSocket 消息时,将触发 OnClientFragmented 事件(通过底层服务器上的 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;