TsgcWebSocketLoadBalancerServer › 事件 › OnClientMessage
当从下游客户端接收到文本帧并在转发到选定后端服务器之前触发。
property OnClientMessage: TsgcWSLBServerMessageEvent;
// TsgcWSLBServerMessageEvent = procedure(Connection: TsgcWSConnection; Text: String; var Handled: Boolean) of object
—
OnClientMessage 针对从负载均衡后端客户端传往后端服务器的每条文本 WebSocket 帧触发。Connection 标识下游客户端会话,Text 携带解码后的 UTF-8 载荷。将 Handled 设为 True 可在负载均衡器内部消费该消息(此时不会转发到后端),通常在负载均衡器代表后端响应控制消息或过滤无效内容时使用。保持 Handled 为 False(默认)则让负载均衡器原样转发该消息。
procedure OnClientMessage(Connection: TsgcWSConnection; Text: String;
var Handled: Boolean);
begin
// answer ping messages directly from the load balancer
if SameText(Text, 'ping') then
begin
Connection.WriteData('pong');
Handled := True;
end;
end;