TsgcWebSocketServer_HTTPAPI › 이벤트 › OnHandshake
서버 측에서 핸드셰이크가 평가된 후 응답이 전송되기 전에 발생합니다.
__property TsgcWSHandshakeEvent OnHandshake;
// typedef void __fastcall (__closure *TsgcWSHandshakeEvent)(TsgcWSConnection * Connection, TStringList * &Headers);
—
OnHandshake는 클라이언트의 HTTP 업그레이드 요청이 HTTP.SYS에 의해 파싱되고 유효성 검사된 직후, 핸드셰이크 응답이 다시 기록되기 전에 서버에서 발생합니다. 클라이언트가 보낸 들어오는 헤더는 연결의 HeadersRequest 속성(TsgcWSConnection_HTTPAPI로 캐스팅됨)을 통해 사용할 수 있습니다. Headers 매개변수는 반환될 응답 줄을 포함하는 TStringList입니다. 사용자 정의 줄(예: 공급업체별 헤더)을 추가하여 HTTP 응답에 포함시키십시오. 표준 WebSocket 헤더(Upgrade, Connection, Sec-WebSocket-Accept...)는 이미 채워져 있으므로 중복해서는 안 됩니다.
void OnServerHandshake(TsgcWSConnection *Connection, TStringList *Headers)
{
ShowMessage(dynamic_cast<TsgcWSConnection_HTTPAPI*>(Connection)->HeadersRequest->Text);
}