TsgcHTTPServer › Proprietà › Options
Raggruppa vari flag di comportamento del server: timeout, pagine di test integrate e l'intestazione HTTP Server.
property Options: TsgcWSOptionsServer read FOptions write SetOptions;
ReadTimeOut=10, WriteTimeOut=0
ReadTimeOut è l'intervallo di polling in millisecondi (10 per impostazione predefinita); WriteTimeOut è il tempo in millisecondi per cui una scrittura su socket può restare senza progressi prima che il client in stallo venga eliminato, e si applica sia su Windows sia su POSIX (Linux), il che aiuta a difendersi dai client slow-read che altrimenti terrebbero occupato un thread del server. Con il valore predefinito 0, i gestori I/O IOCP ed EPOLL (vedere IOHandlerOptions) eliminano comunque un client le cui scritture non fanno progressi per 30 secondi, in chiaro o con TLS, mentre il gestore I/O predefinito attende senza limiti, quindi impostare WriteTimeOut (ad esempio 30000) quando il server usa il gestore I/O predefinito e invia dati a molti client. RaiseDisconnectExceptions solleva un'eccezione quando una disconnessione è causata da un errore di protocollo. Software contiene il valore inviato nell'intestazione HTTP Server.
Options è dello stesso tipo (TsgcWSOptionsServer) condiviso con TsgcWebSocketHTTPServer, quindi porta con sé anche tre sotto-proprietà esclusive di WebSocket che sono ereditate ma inerti su TsgcHTTPServer: FragmentedMessages e ValidateUTF8 regolano come i frame WebSocket vengono frammentati e validati e, poiché questo componente non riceve mai un frame WebSocket, entrambe non hanno alcun effetto. HTMLFiles e JavascriptFiles abilitano la pagina di test WebSocket integrata per il browser e il relativo client JavaScript; anche queste sono inerti in questo caso. Lasciare tutte e quattro ai valori predefiniti.
oServer := TsgcHTTPServer.Create(nil);
oServer.Options.ReadTimeOut := 10;
oServer.Options.WriteTimeOut := 5000;
oServer.Active := true;