*存档* = 管理网络服务器连接 = 问题: 我有一个 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 地址) response = httpClient.execute(httpPost) EntityUtils.consume(response.entity) try {response.closecatch (e: Exception) {exception.showStackTrace(e )} try {httpClient.closecatch (e: Exception) {exception.showStackTrace(e)} } catch(e: Exception) { exception.showStackTrace(e) } } 注意:最初只创建了一个 HttpClients 实例,并重新用于方法调用。但是,当检查 Web 服务器上的连接时,此方法会导致每个活动客户端的连接增加大约 30%。 (最多 20 个,尽管只有一个 'createDefault 方法调用。) 使用附加代码之类的方法会导致每个客户端有 1-4 个连接,但这仍然会导致问题,尤其是当同时激活 20 多个客户端时。大多数连接会在几秒钟后自行终止,但如果达到 191 个连接上限,连接将不再关闭并且服务器崩溃 据我了解,apache httpclient 的推荐用法是使用单个客户端实例,但这似乎不会导致与服务器的单个连接。想法或我(可能)错过的东西? 暂时没有评论 成为第一个分享您的想法的人! == 关于社区 == 成员 在线