TsgcHTTPServer › Eigenschappen › Options
Bundelt diverse servergedragsvlaggen: time-outs, ingebouwde testpagina's en de HTTP Server-header.
property Options: TsgcWSOptionsServer read FOptions write SetOptions;
ReadTimeOut=10, WriteTimeOut=0
ReadTimeOut is het pollinginterval in milliseconden (standaard 10); WriteTimeOut is de tijd in milliseconden die een socketschrijfbewerking geen voortgang mag boeken voordat de vastgelopen client wordt losgekoppeld, en geldt zowel op Windows als op POSIX (Linux), wat helpt beschermen tegen traag lezende clients die anders een serverthread zouden bezetten. Met de standaardwaarde 0 verbreken de IOCP- en EPOLL-IO-handlers (zie IOHandlerOptions) nog steeds de verbinding met een client van wie de writes 30 seconden lang geen voortgang boeken, onversleuteld of met TLS, terwijl de standaard IO-handler onbeperkt wacht. Stel daarom WriteTimeOut in (bijvoorbeeld 30000) wanneer de server de standaard IO-handler gebruikt en naar veel clients verzendt. RaiseDisconnectExceptions genereert een uitzondering wanneer een verbindingsverbreking wordt veroorzaakt door een protocolfout. Software bevat de waarde die wordt verzonden in de HTTP-header Server.
Options is hetzelfde type (TsgcWSOptionsServer) dat wordt gedeeld met TsgcWebSocketHTTPServer, dus het bevat ook drie WebSocket-only subeigenschappen die overgeërfd maar inactief zijn op TsgcHTTPServer: FragmentedMessages en ValidateUTF8 bepalen hoe WebSocket-frames worden gefragmenteerd en gevalideerd, en aangezien dit component nooit een WebSocket-frame ontvangt, hebben beide geen effect. HTMLFiles en JavascriptFiles schakelen de ingebouwde WebSocket-browsertestpagina en de bijbehorende JavaScript-client in; deze zijn hier eveneens inactief. Laat alle vier op hun standaardwaarden staan.
oServer := TsgcHTTPServer.Create(nil);
oServer.Options.ReadTimeOut := 10;
oServer.Options.WriteTimeOut := 5000;
oServer.Active := true;