*Diarkibkan* = Mengurus sambungan pelayan web = Masalah: Saya mempunyai aplikasi JavaFx yang meminta kepada db melalui http. Saya kadang-kadang menghadapi masalah di mana semua sambungan yang tersedia ke pelayan web (191) digunakan, menyebabkan ranap sistem Saya cuba mencari tahu mengapa ini berlaku, kerana nampaknya sambungan sebenar sepatutnya jauh lebih rendah. Terdapat maksimum 40 contoh aplikasi berjalan pada satu masa Berikut ialah kaedah penggunaan biasa (Kotlin): myHTTPFunction(pengguna: String, telefon: String, customCID: Boolean, cID: String) { val httpClient = HttpClients.createDefault() val response: CloseableHttpResponse cuba { val useCID = when(customCID) { true ->"&group_alias=$cID"else ->""} val httpPost = HttpPost(ALAMAT PHP) respon = httpClient.execute(httpPost) EntityUtils.consume(response.entity) cuba {response.closecatch (e: Exception) {exception.showStackTrace(e )} cuba {httpClient.closecatch (e: Exception) {exception.showStackTrace(e)} } catch(e: Exception) { exception.showStackTrace(e) } } Nota: Pada asalnya hanya satu contoh HttpClients telah dibuat dan digunakan semula untuk panggilan kaedah. Walau bagaimanapun, apabila menyemak sambungan pada pelayan web, kaedah ini menghasilkan kira-kira 30% lebih sambungan bagi setiap pelanggan aktif. (Sehingga 20 walaupun hanya satu 'panggilan kaedah createDefault.) Menggunakan kaedah seperti kod yang dilampirkan menghasilkan 1-4 sambungan bagi setiap pelanggan, tetapi ini masih boleh menyebabkan masalah, terutamanya apabila 20+ pelanggan diaktifkan sekaligus. Kebanyakan sambungan ditamatkan sendiri selepas beberapa saat, tetapi jika had sambungan 191 dipukul, sambungan tidak akan ditutup lagi dan pelayan ranap Mengikut pemahaman saya, penggunaan apache httpclient yang disyorkan adalah untuk menggunakan contoh klien tunggal, tetapi ini nampaknya tidak menghasilkan satu sambungan ke pelayan. Fikiran atau sesuatu yang saya (mungkin) terlepas? tiada komen lagi Jadilah yang pertama berkongsi pendapat anda! == Mengenai Komuniti == ahli Dalam talian