TsgcWebSocketHTTPServerプロパティ › QueueOptions

QueueOptions プロパティ

スレッド間の競合を防ぐために、内部の接続ごとのキューを通じてアウトバウンドメッセージをシリアライズします。

構文

property QueueOptions: TsgcWSQueueServer_Options read FQueueOptions write SetQueueOptions;

デフォルト値

Text=qmNone, Binary=qmNone, Ping=qmNone

解説

有効にすると、メッセージは内部キューに入れられ、呼び出し元のスレッドではなく接続スレッドのコンテキストで送信されます。これにより、複数のスレッドが同じ接続に同時書き込みを行う際に必要なロックが不要になります。各メッセージタイプ(TextBinaryPing)に独立した優先度レベルを割り当てることができます。qmNone はキューをスキップし(デフォルト)、qmLevel1 が最初に処理され、次に qmLevel2、最後に qmLevel3 の順に処理されます。例えば、TextBinaryqmLevel2 に、PingqmLevel1 に設定すると、通常のトラフィックよりもピングが先に配信されることが保証されます。QueueOptions は IOHandlerOptionsiohIOCP に設定されている場合はサポートされません。

使用例


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

プロパティに戻る