*Архівовано* = Керування підключеннями до веб-сервера = проблема: У мене є програма JavaFx, яка запитує базу даних через http. Я періодично стикаюся з проблемами, через які використовуються всі доступні підключення до веб-сервера (191), що спричиняє збій Я намагаюся зрозуміти, чому це відбувається, оскільки здається, що фактичні з’єднання мають бути набагато нижчими. Одночасно працює не більше 40 екземплярів програми Ось типовий метод використання (Kotlin): fun myHTTPFunction(user: String, phone: String, customCID: Boolean, cID: String) { val httpClient = HttpClients.createDefault() val response: CloseableHttpResponse try { val useCID = when(customCID) { true ->"&group_alias=$cID"else ->""} val httpPost = HttpPost(PHP ADDRESS) response = httpClient.execute(httpPost) EntityUtils.consume(response.entity) try {response.closecatch (e: Exception) {exception.showStackTrace(e )} спробуйте {httpClient.closecatch (e: Виняток) {exception.showStackTrace(e)} } catch(e: Виняток) { exception.showStackTrace(e) } } Примітка. Спочатку було створено лише один екземпляр HttpClients, який повторно використовувався для викликів методів. Однак під час перевірки підключень на веб-сервері цей метод призводить до приблизно на 30% більшої кількості підключень на активного клієнта. (До 20, незважаючи на лише один виклик методу createDefault.) Використання методу, подібного до прикладеного коду, призводить до 1–4 підключень на клієнта, але це все одно може спричинити проблеми, особливо коли одночасно активовано 20+ клієнтів. Більшість з’єднань припиняється через кілька секунд, але якщо досягнуто обмеження 191, з’єднання більше не закриватимуться, а сервер припиняє роботу. Наскільки я розумію, рекомендоване використання apache httpclient полягає у використанні одного екземпляра клієнта, але це, здається, не призводить до єдиного підключення до сервера. Думки чи щось, що я (ймовірно) пропустив? ще немає коментарів Будьте першим, хто поділіться своїми думками! == Про спільноту == Члени Онлайн