TsgcWebSocketLoadBalancerServer › Propiedades › Options
Indicadores de comportamiento varios para el balanceador de carga: gestión de fragmentos, tiempos de espera, páginas de prueba HTTP y validación UTF-8.
property Options: TsgcWSOptionsServer read FOptions write SetOptions;
FragmentedMessages=frgOnlyBuffer, HTMLFiles=True, JavascriptFiles=True, ReadTimeOut=10, WriteTimeOut=0
FragmentedMessages controla cómo se entregan los fotogramas fragmentados recibidos de los clientes descendentes: frgOnlyBuffer (predeterminado) almacena el mensaje hasta que está completo y genera OnMessage/OnBinary; frgOnlyFragmented genera OnFragmented por cada fragmento; frgAll genera ambos. HTMLFiles y JavascriptFiles permiten al balanceador de carga servir sus páginas de prueba del navegador integradas y el cliente JavaScript (habilitados de forma predeterminada). RaiseDisconnectExceptions genera una excepción cuando una desconexión es causada por un error de protocolo. ReadTimeOut es el intervalo de sondeo en milisegundos (10 de forma predeterminada); WriteTimeOut es el tiempo en milisegundos que una escritura de socket puede permanecer sin progreso antes de descartar al cliente estancado, y se aplica tanto en Windows como en POSIX (Linux), lo que ayuda a defenderse de los clientes de lectura lenta que, de lo contrario, mantendrían ocupado un subproceso del servidor. Con el valor predeterminado 0, los manejadores de E/S IOCP y EPOLL (véase IOHandlerOptions) igualmente descartan al cliente cuyas escrituras no progresan durante 30 segundos, en texto plano o con TLS, mientras que el manejador de E/S predeterminado espera sin límite, así que establezca WriteTimeOut (por ejemplo, 30000) cuando el servidor use el manejador de E/S predeterminado y envíe datos a muchos clientes. ValidateUTF8 rechaza los mensajes de texto que contienen secuencias UTF-8 no válidas (deshabilitado de forma predeterminada). Software contiene el valor enviado en la cabecera HTTP Server.
oServer := TsgcWebSocketLoadBalancerServer.Create(nil);
oServer.Options.FragmentedMessages := frgOnlyBuffer;
oServer.Options.ValidateUTF8 := true;
oServer.Options.HTMLFiles := false;
oServer.Active := true;