TsgcWebSocketHTTPServer › Events › OnTCPConnect
클라이언트가 TCP 수준에서 연결된 후 WebSocket 핸드셰이크 전에 발생하므로, 연결을 수락하거나 거부할 수 있습니다.
property OnTCPConnect: TsgcWSOnTCPConnect;
// TsgcWSOnTCPConnect = procedure(Connection: TsgcWSConnection; var Accept: Boolean) of object
—
OnTCPConnect는 TCP 연결이 수락된 후, HTTP 요청이 파싱되거나 WebSocket 핸드셰이크가 일어나기 전에 호출됩니다. 이는 Connection.PeerIP를 검사하고 원치 않는 클라이언트를 거부할 수 있는 가장 빠른 기회입니다. 예를 들어 IP별 속도 제한을 구현할 수 있습니다. 연결을 즉시 닫으려면 Accept를 False로 설정하거나, 서버가 HTTP/WebSocket 프로토콜 감지를 진행하도록 True(기본값)로 두십시오. 처음부터 연결을 일반 TCP 피어로 승격하려면 핸들러 내부에서 Connection.Transport를 trpTCP로 설정하십시오.
procedure OnTCPConnectEvent(aConnection: TsgcWSConnection; var Accept: Boolean);
begin
Accept := aConnection.PeerIP <> '192.168.0.100';
end;