TsgcHTTPServer › Właściwości › Options

Options Właściwość

Grupuje różne flagi zachowania serwera: limity czasu, wbudowane strony testowe oraz nagłówek HTTP Server.

Składnia

property Options: TsgcWSOptionsServer read FOptions write SetOptions;

Wartość domyślna

ReadTimeOut=10, WriteTimeOut=0

Uwagi

ReadTimeOut to interwał odpytywania w milisekundach (domyślnie 10); WriteTimeOut to czas w milisekundach, przez jaki zapis do gniazda może nie robić postępów, zanim zawieszony klient zostanie odłączony, i ma zastosowanie zarówno w systemie Windows, jak i POSIX (Linux), co pomaga chronić przed klientami wolno odczytującymi dane, którzy w przeciwnym razie zajmowaliby wątek serwera. Przy wartości domyślnej 0 moduły obsługi we/wy IOCP i EPOLL (zobacz IOHandlerOptions) nadal odłączają klienta, którego zapisy nie robią postępów przez 30 sekund, bez względu na to, czy to zwykłe połączenie, czy TLS, podczas gdy domyślny moduł obsługi we/wy czeka bez ograniczeń. Dlatego ustaw WriteTimeOut (na przykład 30000), gdy serwer korzysta z domyślnego modułu obsługi we/wy i wysyła dane do wielu klientów. RaiseDisconnectExceptions zgłasza wyjątek, gdy rozłączenie jest spowodowane błędem protokołu. Software przechowuje wartość wysyłaną w nagłówku HTTP Server.

Options jest tego samego typu (TsgcWSOptionsServer) współdzielonego z TsgcWebSocketHTTPServer, dlatego zawiera również trzy podwłaściwości właściwe wyłącznie dla WebSocket, które są odziedziczone, ale nieaktywne w TsgcHTTPServer: FragmentedMessages i ValidateUTF8 określają sposób fragmentowania i walidacji ramek WebSocket, a ponieważ ten komponent nigdy nie odbiera ramki WebSocket, obie nie mają żadnego efektu. HTMLFiles i JavascriptFiles włączają wbudowaną testową stronę przeglądarkową WebSocket oraz jej klienta JavaScript; są one również tutaj nieaktywne. Pozostaw wszystkie cztery na wartościach domyślnych.

Przykład


oServer := TsgcHTTPServer.Create(nil);
oServer.Options.ReadTimeOut := 10;
oServer.Options.WriteTimeOut := 5000;
oServer.Active := true;

Wróć do Właściwości