TsgcWebSocketServer_HTTPAPI › 事件 › OnHandshake
在服务器端对握手进行评估后、发送响应之前触发。
property OnHandshake: TsgcWSHandshakeEvent;
// TsgcWSHandshakeEvent = procedure(Connection: TsgcWSConnection; var Headers: TStringList) of object
—
OnHandshake 在服务器端触发,时机为客户端 HTTP 升级请求已被 HTTP.SYS 解析并验证之后、握手响应写回之前。客户端发送的传入头部可通过连接的 HeadersRequest 属性(转换为 TsgcWSConnection_HTTPAPI)获取。Headers 参数是包含将要返回的响应行的 TStringList;可添加自定义行(例如厂商专用头部)以将其包含在 HTTP 响应中。标准 WebSocket 头部(Upgrade、Connection、Sec-WebSocket-Accept 等)已填充,不应重复添加。
procedure OnServerHandshake(Connection: TsgcWSConnection; var Headers: TStringList);
begin
ShowMessage(TsgcWSConnection_HTTPAPI(Connection).HeadersRequest.Text);
end;