com.sun.net.httpserver.HttpServer cuenta de conexión máxima?
-
10-07-2019 - |
Pregunta
A veces (muy raramente) cuando me conecto a una instancia en ejecución de un com.sun.net.httpserver.HttpServer obtengo una " conexión rechazada " mensaje de vuelta.
¿Alguien sabe por qué podría ser esto? ¿Existe un límite de subprocesos para la cantidad de conexiones que puede manejar? ¿Puedo aumentarlo? Gracias. -r
Solución
De el documento :
Cuando se vincula a una dirección y puerto número, la aplicación también puede especifique un parámetro de acumulación de enteros. Esto representa el número máximo de conexiones TCP entrantes que el el sistema hará cola internamente. Las conexiones se ponen en cola mientras están esperando ser aceptado por el HttpServer. Cuando se alcanza el límite, otras conexiones pueden ser rechazadas (o posiblemente ignorado) por el implementación TCP subyacente. Ajuste el valor correcto de la acumulación es un compromiso entre recurso eficiente uso en la capa TCP (no configurarlo demasiado alto) y permitiendo suficiente rendimiento de las solicitudes entrantes (no configurarlo demasiado bajo).
Puede que estés viendo esto.
Alternativamente , ¿ha configurado un ejecutor usando setExecutor () . El ejecutor predeterminado puede tener menos subprocesos configurados de los que necesita y un ThreadPoolExecutor puede funcionar.