TsgcWebSocketLoadBalancerServer事件 › OnClientFragmented

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;

返回事件