TsgcWebSocketProxyServer › Propiedades › Options

Options Propiedad

Agrupa indicadores de comportamiento misceláneos del proxy: manejo de fragmentos, tiempos de espera, páginas de prueba HTTP y validación UTF-8.

Sintaxis

property Options: TsgcWSOptionsServer read FOptions write SetOptions;

Valor Predeterminado

FragmentedMessages=frgOnlyBuffer, HTMLFiles=True, JavascriptFiles=True, ReadTimeOut=10, WriteTimeOut=0

Observaciones

FragmentedMessages controla cómo se entregan los frames fragmentados recibidos de los clientes descendentes: frgOnlyBuffer (predeterminado) almacena el mensaje hasta que esté completo y activa OnMessage/OnBinary; frgOnlyFragmented activa OnFragmented para cada fragmento; frgAll activa ambos. HTMLFiles y JavascriptFiles permiten que el proxy sirva las páginas de prueba del navegador integradas y el cliente JavaScript (habilitados por defecto). 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 por defecto); 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 por defecto). Software contiene el valor enviado en la cabecera HTTP Server.

Ejemplo


oProxy := TsgcWebSocketProxyServer.Create(nil);
oProxy.Options.FragmentedMessages := frgOnlyBuffer;
oProxy.Options.ValidateUTF8 := true;
oProxy.Options.HTMLFiles := false;
oProxy.Proxy.Host := 'upstream.example.com';
oProxy.Proxy.Port := 8080;
oProxy.Active := true;

Volver a Propiedades