TsgcWebSocketProxyServer › 속성 › Options

Options 속성

기타 프록시 동작 플래그(fragment 처리, 타임아웃, HTTP 테스트 페이지 및 UTF-8 검증)를 묶습니다.

구문

property Options: TsgcWSOptionsServer read FOptions write SetOptions;

기본값

FragmentedMessages=frgOnlyBuffer, HTMLFiles=True, JavascriptFiles=True, ReadTimeOut=10, WriteTimeOut=0

설명

FragmentedMessages는 다운스트림 클라이언트로부터 수신된 분할 프레임이 전달되는 방식을 제어합니다. frgOnlyBuffer(기본값)는 메시지가 완료될 때까지 버퍼링한 후 OnMessage/OnBinary를 발생시키고, frgOnlyFragmented는 모든 프래그먼트에 대해 OnFragmented를 발생시키며, frgAll은 둘 다 발생시킵니다. HTMLFiles와 JavascriptFiles를 사용하면 프록시가 내장된 브라우저 테스트 페이지와 JavaScript 클라이언트를 제공할 수 있습니다(기본적으로 활성화됨). RaiseDisconnectExceptions는 연결 해제가 프로토콜 오류로 인해 발생할 때 예외를 던집니다. ReadTimeOut은 폴링 간격(밀리초, 기본값 10)이고, WriteTimeOut은 정체된 클라이언트가 끊기기 전에 소켓 쓰기가 진행되지 않을 수 있는 시간을 밀리초 단위로 지정하며, Windows와 POSIX(Linux) 모두에 적용되어, 그렇지 않으면 서버 스레드를 묶어둘 수 있는 느린 읽기 클라이언트를 방어하는 데 도움이 됩니다. 기본값 0에서도 IOCP 및 EPOLL IO 핸들러(IOHandlerOptions 참조)는 쓰기가 30초 동안 진행되지 않는 클라이언트를 일반 연결이든 TLS든 계속 끊지만, 기본 IO 핸들러는 제한 없이 대기합니다. 따라서 서버가 기본 IO 핸들러를 사용하고 많은 클라이언트에 전송할 때는 WriteTimeOut(예: 30000)을 설정하세요. ValidateUTF8은 유효하지 않은 UTF-8 시퀀스를 포함하는 텍스트 메시지를 거부합니다(기본적으로 비활성화됨). Software는 HTTP Server 헤더에 전송되는 값을 보유합니다.

예제


oProxy := TsgcWebSocketProxyServer.Create(nil);
oProxy.Options.FragmentedMessages := frgOnlyBuffer;
oProxy.Options.ValidateUTF8 := true;
oProxy.Options.HTMLFiles := false;
oProxy.Proxy.Host := 'upstream.example.com';
oProxy.Proxy.Port := 8080;
oProxy.Active := true;

속성으로 돌아가기