TsgcWebSocketHTTPServer › Özellikler › Options
Çeşitli sunucu davranışı bayraklarını bir araya getirir: parça işleme, zaman aşımları, HTTP test sayfaları ve UTF-8 doğrulaması.
property Options: TsgcWSOptionsServer read FOptions write SetOptions;
FragmentedMessages=frgOnlyBuffer, HTMLFiles=True, JavascriptFiles=True, ReadTimeOut=10, WriteTimeOut=0
FragmentedMessages parçalı çerçevelerin nasıl iletileceğini denetler: frgOnlyBuffer (varsayılan) mesajı tamamlanana kadar arabelleğe alır ve OnMessage/OnBinary tetikler; frgOnlyFragmented her parça için OnFragmented tetikler; frgAll ikisini de tetikler. HTMLFiles ve JavascriptFiles sunucunun yerleşik tarayıcı test sayfalarını ve JavaScript istemcisini sunmasını sağlar (varsayılan olarak etkindir). RaiseDisconnectExceptions bir bağlantı kesilmesi bir protokol hatasından kaynaklandığında istisna fırlatır. ReadTimeOut milisaniye cinsinden yoklama aralığıdır (varsayılan 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. ValidateUTF8 geçersiz UTF-8 dizileri içeren metin mesajlarını reddeder (varsayılan olarak devre dışıdır). Software HTTP Server başlığında gönderilen değeri tutar.
oServer := TsgcWebSocketHTTPServer.Create(nil);
oServer.Options.FragmentedMessages := frgOnlyBuffer;
oServer.Options.ValidateUTF8 := true;
oServer.Options.HTMLFiles := false;
oServer.Active := true;