Rumah >Java >javaTutorial >Bagaimana untuk Menetapkan Sambungan dan Tamat Masa Soket untuk Permintaan HTTP dalam Android?
Cara Menetapkan Tamat Masa HttpResponse untuk Android dalam Java
Melaksanakan semakan status sambungan adalah penting, tetapi menghadapi tamat masa pelaksanaan yang lama boleh mengecewakan. Mari kita mendalami cara untuk mengelakkan isu ini dan mengoptimumkan pengendalian sambungan anda.
Menggunakan kelas DefaultHttpClient untuk melaksanakan permintaan HTTP, anda mungkin melihat kelewatan yang ketara apabila pelayan ditutup. Ini kerana kaedah httpClient.execute(method) menunggu selama-lamanya untuk jawapan. Untuk menyelesaikan masalah ini, anda boleh menetapkan tamat masa untuk respons HTTP anda.
Menetapkan tamat masa Respons HTTP
Dua jenis tamat masa boleh ditetapkan: tamat masa sambungan dan tamat masa soket. Tamat masa sambungan mengawal tempoh menunggu untuk sambungan diwujudkan, manakala tamat masa soket mengehadkan tempoh menunggu pemindahan data.
Dalam Java, anda boleh menentukan tamat masa ini dengan mudah menggunakan HttpConnectionParams. Berikut ialah contoh:
HttpGet httpGet = new HttpGet(url); HttpParams httpParameters = new BasicHttpParams(); // Set connection timeout to 3 seconds (3000 milliseconds) HttpConnectionParams.setConnectionTimeout(httpParameters, 3000); // Set socket timeout to 5 seconds (5000 milliseconds) HttpConnectionParams.setSoTimeout(httpParameters, 5000); DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters); HttpResponse response = httpClient.execute(httpGet);
Sebagai alternatif, jika anda mempunyai objek HTTPClient sedia ada, anda boleh mengkonfigurasi parameternya:
httpClient.setParams(httpParameters);
Dengan menetapkan tamat masa yang sesuai, anda menghalang aplikasi daripada menunggu selama-lamanya untuk sambungan atau tindak balas data. Ini meningkatkan tindak balas dan mengelakkan kelewatan yang tidak perlu semasa pemeriksaan sambungan.
Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Sambungan dan Tamat Masa Soket untuk Permintaan HTTP dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!