Назад | Перейти на главную страницу

В соединении отказано на локальном хосте RHEL с работающим сервером

Я использую систему на основе Java на CentOs, и иногда я вижу, что клиенты службы в течение короткого времени сталкиваются с ошибками «Соединение отклонено». Интересно то, что сервер одновременно обслуживает запросы. Ошибка периодическая.

Возможно ли, что невыполненный журнал сокета слушателя на короткое время заполнится, что приведет к отклонению новых запросов? У меня заканчиваются подсказки, и я пока не смог воспроизвести это за пределами системы непрерывной интеграции.

Думаю, твоя догадка верна, man listen(2) говорит (курсив мой):

Аргумент backlog определяет максимальную длину, до которой может вырасти очередь ожидающих соединений для sockfd. Если запрос на подключение поступает при заполнении очереди, клиент может получить сообщение об ошибке с указанием ECONNREFUSED. или, если базовый протокол поддерживает повторную передачу, запрос может быть проигнорирован, так что более поздняя повторная попытка соединения будет успешной.