TsgcWebSocketHTTPServer › Eigenschaften › Options

Options Eigenschaft

Bündelt verschiedene Server-Verhaltensflags: Fragmentbehandlung, Timeouts, HTTP-Testseiten und UTF-8-Validierung.

Syntax

property Options: TsgcWSOptionsServer read FOptions write SetOptions;

Standardwert

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

Hinweise

FragmentedMessages steuert, wie fragmentierte Frames übermittelt werden: frgOnlyBuffer (Standard) puffert die Nachricht, bis sie vollständig ist, und löst OnMessage/OnBinary aus; frgOnlyFragmented löst OnFragmented für jedes Fragment aus; frgAll löst beide aus. HTMLFiles und JavascriptFiles ermöglichen es dem Server, die integrierten Browser-Testseiten und den JavaScript-Client bereitzustellen (standardmäßig aktiviert). RaiseDisconnectExceptions löst eine Ausnahme aus, wenn eine Trennung durch einen Protokollfehler verursacht wird. ReadTimeOut ist das Abfrageintervall in Millisekunden (standardmäßig 10); WriteTimeOut ist die Zeit in Millisekunden, die ein Socket-Schreibvorgang ohne Fortschritt bleiben darf, bevor der stockende Client getrennt wird, und gilt sowohl unter Windows als auch unter POSIX (Linux), was hilft, sich gegen langsam lesende Clients zu schützen, die andernfalls einen Server-Thread blockieren würden. Mit dem Standardwert 0 trennen die IOCP- und EPOLL-E/A-Handler (siehe IOHandlerOptions) weiterhin einen Client, dessen Schreibvorgänge 30 Sekunden lang keinen Fortschritt machen, unverschlüsselt oder mit TLS, während der Standard-E/A-Handler unbegrenzt wartet. Setzen Sie daher WriteTimeOut (zum Beispiel 30000), wenn der Server den Standard-E/A-Handler verwendet und an viele Clients sendet. ValidateUTF8 lehnt Textnachrichten ab, die ungültige UTF-8-Sequenzen enthalten (standardmäßig deaktiviert). Software enthält den im HTTP-Server-Header gesendeten Wert.

Beispiel


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

Zurück zu Properties