TsgcWebSocketServer › Propiedades › QueueOptions
Serializa los mensajes salientes mediante una cola interna por conexión para evitar la contención entre hilos.
property QueueOptions: TsgcWSQueueServer_Options read FQueueOptions write SetQueueOptions;
Text=qmNone, Binary=qmNone, Ping=qmNone
Cuando está habilitado, los mensajes se colocan en una cola interna y se envían en el contexto del hilo de conexión en lugar del hilo del invocador; esto elimina el bloqueo necesario cuando varios hilos escriben simultáneamente en la misma conexión. A cada tipo de mensaje (Text, Binary, Ping) se le puede asignar un nivel de prioridad independiente: qmNone omite la cola (valor predeterminado), qmLevel1 se procesa primero, luego qmLevel2 y finalmente qmLevel3. Por ejemplo, configurar Text y Binary en qmLevel2 y Ping en qmLevel1 garantiza que los pings se entreguen antes que el tráfico ordinario. QueueOptions no es compatible cuando IOHandlerOptions está configurado en iohIOCP.
oServer := TsgcWebSocketServer.Create(nil);
oServer.QueueOptions.Text := qmLevel2;
oServer.QueueOptions.Binary := qmLevel2;
oServer.QueueOptions.Ping := qmLevel1;
oServer.Active := true;