TsgcWebSocketServer_HTTPAPIProperties › QueueOptions

QueueOptions Właściwość

Serializuje wychodzące wiadomości przez wewnętrzną kolejkę per-połączenie, zapobiegając rywalizacji między wątkami.

Składnia

property QueueOptions: TsgcWSQueueServer_Options read FQueueOptions write SetQueueOptions;

Wartość domyślna

Text=qmNone, Binary=qmNone, Ping=qmNone

Uwagi

Po włączeniu wiadomości są umieszczane w wewnętrznej kolejce i wysyłane w kontekście wątku połączenia zamiast wątku wywołującego — eliminuje to konieczność blokowania, gdy wiele wątków zapisuje do tego samego połączenia jednocześnie. Każdy typ wiadomości (Text, Binary, Ping) może mieć przypisany niezależny poziom priorytetu: qmNone pomija kolejkę (domyślnie), qmLevel1 jest przetwarzany jako pierwszy, następnie qmLevel2, a na końcu qmLevel3. Na przykład ustawienie Text i Binary na qmLevel2 oraz Ping na qmLevel1 gwarantuje, że pingi są dostarczane przed zwykłym ruchem.

Przykład


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

Wróć do Właściwości