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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top