TsgcWebSocketServer › Propriétés › QueueOptions
Sérialise les messages sortants via une file d'attente interne par connexion pour éviter les conflits entre les threads.
property QueueOptions: TsgcWSQueueServer_Options read FQueueOptions write SetQueueOptions;
Text=qmNone, Binary=qmNone, Ping=qmNone
Lorsqu'il est activé, les messages sont placés dans une file d'attente interne et envoyés dans le contexte du thread de connexion au lieu du thread de l'appelant — cela supprime le verrouillage nécessaire lorsque plusieurs threads écrivent simultanément sur la même connexion. Chaque type de message (Text, Binary, Ping) peut se voir attribuer un niveau de priorité indépendant : qmNone ignore la file d'attente (par défaut), qmLevel1 est traité en premier, puis qmLevel2 et enfin qmLevel3. Par exemple, définir Text et Binary à qmLevel2 et Ping à qmLevel1 garantit que les pings sont livrés avant le trafic ordinaire. QueueOptions n'est pas pris en charge lorsque IOHandlerOptions est défini sur iohIOCP.
oServer := TsgcWebSocketServer.Create(nil);
oServer.QueueOptions.Text := qmLevel2;
oServer.QueueOptions.Binary := qmLevel2;
oServer.QueueOptions.Ping := qmLevel1;
oServer.Active := true;