TsgcWebSocketServer_HTTPAPI › プロパティ › QueueOptions
スレッド間の競合を防ぐために、内部の接続ごとのキューを通じてアウトバウンドメッセージをシリアライズします。
property QueueOptions: TsgcWSQueueServer_Options read FQueueOptions write SetQueueOptions;
Text=qmNone, Binary=qmNone, Ping=qmNone
有効な場合、メッセージは内部キューに配置され、呼び出し元のスレッドではなく接続スレッドのコンテキストで送信されます。これにより、複数のスレッドが同じ接続に同時に書き込む際に必要なロックが不要になります。各メッセージタイプ(Text、Binary、Ping)に独立した優先度レベルを割り当てられます: qmNone はキューをスキップします(デフォルト)、qmLevel1 が最初に処理され、次に qmLevel2、最後に qmLevel3 が処理されます。例えば、Text と Binary を qmLevel2 に、Ping を qmLevel1 に設定すると、ping が通常のトラフィックより先に配信されることが保証されます。
oServer := TsgcWebSocketServer_HTTPAPI.Create(nil);
oServer.QueueOptions.Text := qmLevel2;
oServer.QueueOptions.Binary := qmLevel2;
oServer.QueueOptions.Ping := qmLevel1;
oServer.Active := true;