TsgcWebSocketHTTPServer › 事件 › OnTCPConnect
在客户端在 TCP 层连接之后、WebSocket 握手之前触发,因此可以接受或拒绝连接。
property OnTCPConnect: TsgcWSOnTCPConnect;
// TsgcWSOnTCPConnect = procedure(Connection: TsgcWSConnection; var Accept: Boolean) of object
—
OnTCPConnect 在 TCP 连接被接受之后、HTTP 请求被解析或 WebSocket 握手发生之前调用。这是检查 Connection.PeerIP 并拒绝不需要的客户端的最早机会,例如实现每 IP 速率限制。将 Accept 设为 False 立即关闭连接,或保持 True(默认值)以便服务器继续 HTTP/WebSocket 协议检测。要从一开始就将连接提升为普通 TCP 对等方,请在处理程序内将 Connection.Transport 设为 trpTCP。
procedure OnTCPConnectEvent(aConnection: TsgcWSConnection; var Accept: Boolean);
begin
Accept := aConnection.PeerIP <> '192.168.0.100';
end;