com.sun.net.httpserver.HttpServer максимальное количество подключений?
Иногда (довольно редко), когда я подключаюсь к работающему экземпляру com.sun.net.httpserver.HttpServer, я получаю сообщение "Отказано в соединении".
Кто-нибудь знает, почему это может быть? Есть ли ограничение потока на количество соединений, которые он может обработать? Могу ли я увеличить его? Благодарю. -р
1 ответ
Из документа:
При привязке к адресу и номеру порта приложение может также указать целочисленный параметр невыполненного задания. Это представляет максимальное количество входящих TCP-соединений, которые система будет помещать в очередь внутри. Соединения ставятся в очередь, пока они ожидают принятия HttpServer. Когда предел достигнут, дальнейшие соединения могут быть отклонены (или, возможно, проигнорированы) базовой реализацией TCP. Установка правильного значения невыполненного задания является компромиссом между эффективным использованием ресурсов на уровне TCP (не устанавливая его слишком высоким) и позволяя обеспечить адекватную пропускную способность входящих запросов (не устанавливая его слишком низким).
Вы можете видеть это.
Кроме того, вы должны установить исполнителя с помощью setExecutor (). Исполнитель по умолчанию может иметь меньше сконфигурированных потоков, чем вам нужно, и должным образом сконфигурированный ThreadPoolExecutor может работать.