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

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top