문제

때로는(아주 드물게)연결할 때 이를 실행하는 인스턴스의 com.태양입니다.net.httpserver.HttpServer 나는"연결이 거부"메시지.

누구나 알고있을 수 있습니다 이유?가 있는 쓰레드 개수에는 제한의 연결을 처리할 수 있다?를 높일 수 있습니다 그것은?감사합니다.r

도움이 되었습니까?

해결책

doc:

딩할 때에는 주소와 포트 수용할 수 있도 정수를 지정 잔 매개 변수입니다.이 나타내는 최대 들어오는 TCP 연결하는 시스템 큐 내부적으로 합니다.연결을 지연하는 동안 그들은 리에 의해 허용 HttpServer.제한에 도달 할 때, 더 연결이 거부될 수 있습니다 (또는 무시됩니다)의 기본 TCP 구현합니다.설정 오른쪽 백로그 값입니다 타협 사이에 효율적인 자원 사용 TCP 층(설정하지않 너무 높은)및 수 있도록 적절한 처리량의 들어오는 요청을(지 설정 그것은 너무 낮습니다.)

당신이 볼 수 있습니다이다.

또는, 는,당신이 설정된 실행자 사용 setExecutor().기본 실행할 수 있는 스레드 수를 적게 구성한 것보다 당신이 필요하고,적절히 구성된 ThreadPoolExecutor 가 작동하지 않을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top