com.sun.net.httpserver.Http Conteggio massimo connessioni server?
-
10-07-2019 - |
Domanda
A volte (piuttosto raramente) quando mi collego a un'istanza in esecuzione di un server.s.s.net. http: server ricevo una "connessione rifiutata" messaggio indietro.
Qualcuno sa perché questo potrebbe essere? Esiste un limite di thread al numero di connessioni che può gestire? Posso aumentarlo? Grazie. -r
Soluzione
Da il documento :
Se associato a un indirizzo e una porta numero, l'applicazione può anche specifica un parametro backlog intero. Questo rappresenta il numero massimo di connessioni TCP in entrata che il il sistema accoderà internamente. Le connessioni vengono messe in coda mentre lo sono in attesa di essere accettato dal HTTPServer. Quando viene raggiunto il limite, ulteriori connessioni potrebbero essere rifiutate (o forse ignorato) dal implementazione TCP sottostante. Ambientazione il giusto valore di backlog è a compromesso tra risorse efficienti utilizzo nel livello TCP (non impostandolo troppo alto) e permettendo adeguato throughput delle richieste in arrivo (no impostandolo troppo basso).
Potresti vederlo.
In alternativa , hai impostato un esecutore usando setExecutor () . L'esecutore predefinito potrebbe avere meno thread configurati del necessario e un ThreadPoolExecutor potrebbe funzionare.