TsgcWebSocketHTTPServerProperties › QueueOptions

QueueOptions Eigenschaft

Serialisiert ausgehende Nachrichten über eine interne Warteschlange pro Verbindung, um Konkurrenz zwischen Threads zu vermeiden.

Syntax

property QueueOptions: TsgcWSQueueServer_Options read FQueueOptions write SetQueueOptions;

Standardwert

Text=qmNone, Binary=qmNone, Ping=qmNone

Hinweise

Wenn aktiviert, werden Nachrichten in eine interne Queue gestellt und im Kontext des Verbindungs-Threads statt des Threads des Aufrufers gesendet — dies beseitigt das Locking, das benötigt wird, wenn mehrere Threads gleichzeitig in dieselbe Verbindung schreiben. Jedem Nachrichtentyp (Text, Binary, Ping) kann eine unabhängige Prioritätsstufe zugewiesen werden: qmNone überspringt die Queue (Standard), qmLevel1 wird zuerst verarbeitet, dann qmLevel2 und schließlich qmLevel3. Wenn Sie zum Beispiel Text und Binary auf qmLevel2 und Ping auf qmLevel1 setzen, wird garantiert, dass Pings vor dem normalen Datenverkehr zugestellt werden. QueueOptions wird nicht unterstützt, wenn IOHandlerOptions auf iohIOCP gesetzt ist.

Beispiel


oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.QueueOptions.Text := qmLevel2;
oServer.QueueOptions.Binary := qmLevel2;
oServer.QueueOptions.Ping := qmLevel1;
oServer.Active := true;

Zurück zu Eigenschaften