TsgcHTTPServer › Özellikler › Options

Options Özellik

Çeşitli sunucu davranışı bayraklarını bir araya getirir: zaman aşımları, yerleşik test sayfaları ve HTTP Server başlığı.

Sözdizimi

property Options: TsgcWSOptionsServer read FOptions write SetOptions;

Varsayılan Değer

ReadTimeOut=10, WriteTimeOut=0

Remarks

ReadTimeOut, milisaniye cinsinden yoklama aralığıdır (varsayılan olarak 10); WriteTimeOut takılı istemci düşürülmeden önce bir soket yazma işleminin ilerleme kaydetmeden geçirebileceği süreyi milisaniye cinsinden belirtir ve hem Windows hem de POSIX (Linux) üzerinde uygulanır; bu, aksi takdirde bir sunucu iş parçacığını meşgul edecek yavaş okuyan istemcilere karşı savunmaya yardımcı olur. Varsayılan 0 değerinde bile, IOCP ve EPOLL IO işleyicileri (bkz. IOHandlerOptions), yazmaları 30 saniye boyunca ilerleme kaydetmeyen bir istemciyi düz veya TLS bağlantısında olsun düşürmeye devam eder; varsayılan IO işleyicisi ise sınırsız bekler. Bu nedenle, sunucu varsayılan IO işleyicisini kullanıyorsa ve çok sayıda istemciye gönderim yapıyorsa WriteTimeOut değerini (örneğin 30000) ayarlayın. RaiseDisconnectExceptions, bir bağlantı kesintisi bir protokol hatasından kaynaklandığında bir istisna fırlatır. Software, HTTP Server başlığında gönderilen değeri tutar.

Options, TsgcWebSocketHTTPServer ile paylaşılan aynı türdür (TsgcWSOptionsServer), bu nedenle TsgcHTTPServer üzerinde miras alınan ancak etkisiz olan üç WebSocket'e özgü alt özellik de taşır: FragmentedMessages ve ValidateUTF8, WebSocket çerçevelerinin nasıl parçalanacağını ve doğrulanacağını yönetir ve bu bileşen hiçbir zaman bir WebSocket çerçevesi almadığından ikisinin de hiçbir etkisi yoktur. HTMLFiles ve JavascriptFiles, yerleşik WebSocket tarayıcı test sayfasını ve JavaScript istemcisini etkinleştirir; bunlar da burada etkisizdir. Dördünü de varsayılan değerlerinde bırakın.

Örnek


oServer := TsgcHTTPServer.Create(nil);
oServer.Options.ReadTimeOut := 10;
oServer.Options.WriteTimeOut := 5000;
oServer.Active := true;

Özelliklere Dön