TsgcWebSocketHTTPServer › 속성 › 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이 일반 트래픽보다 먼저 전달되는 것이 보장됩니다. IOHandlerOptions가 iohIOCP로 설정된 경우 QueueOptions는 지원되지 않습니다.
oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.QueueOptions.Text := qmLevel2;
oServer.QueueOptions.Binary := qmLevel2;
oServer.QueueOptions.Ping := qmLevel1;
oServer.Active := true;