TsgcWebSocketHTTPServer › Propriedades › QueueOptions
Serializa as mensagens de saída através de uma fila interna por conexão para evitar contenção entre threads.
property QueueOptions: TsgcWSQueueServer_Options read FQueueOptions write SetQueueOptions;
Text=qmNone, Binary=qmNone, Ping=qmNone
Quando habilitado, as mensagens são colocadas em uma fila interna e enviadas no contexto da thread da conexão em vez da thread do chamador. Isso elimina o bloqueio necessário quando várias threads escrevem na mesma conexão simultaneamente. Cada tipo de mensagem (Text, Binary, Ping) pode receber um nível de prioridade independente: qmNone ignora a fila (padrão), qmLevel1 é processado primeiro, depois qmLevel2 e por fim qmLevel3. Por exemplo, definir Text e Binary como qmLevel2 e Ping como qmLevel1 garante que os pings sejam entregues antes do tráfego comum. QueueOptions não é suportado quando IOHandlerOptions está definido como iohIOCP.
oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.QueueOptions.Text := qmLevel2;
oServer.QueueOptions.Binary := qmLevel2;
oServer.QueueOptions.Ping := qmLevel1;
oServer.Active := true;