TsgcWebSocketLoadBalancerServer › 事件 › OnHandshake
在负载均衡器验证传入的 WebSocket 握手之后、返回 HTTP 响应之前触发。
property OnHandshake: TsgcWSHandshakeEvent;
// TsgcWSHandshakeEvent = procedure(Connection: TsgcWSConnection; var Headers: TStringList) of object
—
OnHandshake 继承自 HTTP 服务器,当传入的 HTTP Upgrade 请求已完成解析并即将被应答时触发。可通过连接的 HeadersRequest 属性(转换为 TsgcWSConnectionServer)访问传入的请求标头;您收到的 Headers 列表包含将发送给对端的响应行,可在其中添加自定义标头。标准的 WebSocket 标头已存在,不得重复添加。该事件既在下游客户端连接时触发,也在后端服务器通过负载均衡器注册时触发,因此如需区分这两种路径,请检查 Connection.URL。
procedure OnHandshake(Connection: TsgcWSConnection; var Headers: TStringList);
begin
Headers.Add('X-LoadBalancer: sgcWebSockets');
end;