TsgcWebSocketHTTPServer › Właściwości › Options

Options Właściwość

Grupuje różne flagi zachowania serwera: obsługę fragmentów, limity czasu, strony testowe HTTP oraz walidację UTF-8.

Składnia

property Options: TsgcWSOptionsServer read FOptions write SetOptions;

Wartość domyślna

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

Uwagi

FragmentedMessages steruje sposobem dostarczania pofragmentowanych ramek: frgOnlyBuffer (domyślnie) buforuje wiadomość do jej ukończenia i zgłasza OnMessage/OnBinary; frgOnlyFragmented zgłasza OnFragmented dla każdego fragmentu; frgAll zgłasza oba. HTMLFiles i JavascriptFiles pozwalają serwerowi serwować wbudowane testowe strony przeglądarki oraz klienta JavaScript (domyślnie włączone). RaiseDisconnectExceptions zgłasza wyjątek, gdy rozłączenie jest spowodowane błędem protokołu. 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. ValidateUTF8 odrzuca wiadomości tekstowe zawierające nieprawidłowe sekwencje UTF-8 (domyślnie wyłączone). Software przechowuje wartość wysyłaną w nagłówku HTTP Server.

Przykład


oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.Options.FragmentedMessages := frgOnlyBuffer;
oServer.Options.ValidateUTF8 := true;
oServer.Options.HTMLFiles := false;
oServer.Active := true;

Wróć do Właściwości