TsgcHTTPServer › 속성 › Options
기타 서버 동작 플래그를 묶습니다: 시간 초과, 내장 테스트 페이지, HTTP Server 헤더입니다.
property Options: TsgcWSOptionsServer read FOptions write SetOptions;
ReadTimeOut=10, WriteTimeOut=0
ReadTimeOut은 밀리초 단위의 폴링 간격입니다(기본값 10). WriteTimeOut은 정체된 클라이언트가 끊기기 전에 소켓 쓰기가 진행되지 않을 수 있는 시간을 밀리초 단위로 지정하며, Windows와 POSIX(Linux) 모두에 적용되어, 그렇지 않으면 서버 스레드를 묶어둘 수 있는 느린 읽기 클라이언트를 방어하는 데 도움이 됩니다. 기본값 0에서도 IOCP 및 EPOLL IO 핸들러(IOHandlerOptions 참조)는 쓰기가 30초 동안 진행되지 않는 클라이언트를 일반 연결이든 TLS든 계속 끊지만, 기본 IO 핸들러는 제한 없이 대기합니다. 따라서 서버가 기본 IO 핸들러를 사용하고 많은 클라이언트에 전송할 때는 WriteTimeOut(예: 30000)을 설정하세요. RaiseDisconnectExceptions는 연결 해제가 프로토콜 오류로 인해 발생했을 때 예외를 발생시킵니다. Software는 HTTP Server 헤더로 전송되는 값을 보유합니다.
Options는 TsgcWebSocketHTTPServer와 공유되는 동일한 타입(TsgcWSOptionsServer)이므로, 상속되었지만 TsgcHTTPServer에서는 작동하지 않는 세 개의 WebSocket 전용 하위 속성도 함께 가지고 있습니다: FragmentedMessages와 ValidateUTF8은 WebSocket 프레임이 조각화되고 검증되는 방식을 제어하는데, 이 구성 요소는 WebSocket 프레임을 절대 받지 않으므로 둘 다 아무런 효과가 없습니다. HTMLFiles와 JavascriptFiles는 내장 WebSocket 브라우저 테스트 페이지와 그 JavaScript 클라이언트를 활성화하는데, 이 역시 여기서는 작동하지 않습니다. 이 네 가지는 모두 기본값 그대로 두십시오.
oServer := TsgcHTTPServer.Create(nil);
oServer.Options.ReadTimeOut := 10;
oServer.Options.WriteTimeOut := 5000;
oServer.Active := true;