解決方法: Java ネットワーク通信エラー: 接続タイムアウト
Java ネットワーク通信を実行すると、接続タイムアウト エラーが頻繁に発生します。接続タイムアウトとは、ネットワーク接続を確立するときに、クライアントとサーバー間のハンドシェイク プロセスに、事前に設定された制限時間よりも長い時間がかかることを意味します。ネットワーク通信では、ネットワークの遅延、サーバーの応答の遅さなど、複数の要因によって接続タイムアウト エラーが発生することがあります。この記事では、Java ネットワーク通信における接続タイムアウト エラーを解決する方法を説明し、いくつかのサンプル コードを提供します。
import java.net.*; public class ConnectionTimeoutExample { public static void main(String[] args) { try { URL url = new URL("http://www.example.com"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 设置连接超时时间为5秒 conn.setConnectTimeout(5000); int responseCode = conn.getResponseCode(); System.out.println("Response Code: " + responseCode); conn.disconnect(); } catch (Exception e) { e.printStackTrace(); } } }
上記のサンプル コードでは、setConnectTimeout()
メソッドを通じて接続タイムアウトを 5 秒に設定します。接続の確立に 5 秒以上かかる場合、接続タイムアウト例外がスローされます。
import org.apache.http.HttpEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ConcurrentRequestsExample { public static void main(String[] args) { ExecutorService executorService = Executors.newFixedThreadPool(10); for (int i = 0; i < 100; i++) { executorService.execute(new RequestTask()); } executorService.shutdown(); } static class RequestTask implements Runnable { public void run() { try { CloseableHttpClient httpclient = HttpClients.createDefault(); HttpEntity entity = httpclient.execute(new HttpGet("http://www.example.com")).getEntity(); String result = EntityUtils.toString(entity); System.out.println(result); } catch (Exception e) { e.printStackTrace(); } } } }
上記のサンプル コードでは、スレッド プールを使用して同時接続数を 10 に制御します。同時接続数を制御することで、ネットワーク通信の安定性が向上し、接続タイムアウトエラーの発生を軽減できます。
概要
Java ネットワーク通信では、接続タイムアウト エラーがよくある問題です。この記事では、Java ネットワーク通信における接続タイムアウト エラーを解決する方法を説明し、いくつかのサンプル コードを提供します。ネットワーク接続を確認し、接続タイムアウトを調整し、同時接続数を制御することで、接続タイムアウトの問題を効果的に解決し、ネットワーク通信の安定性を向上させることができます。この記事が接続タイムアウト エラーの解決に役立つことを願っています。
以上が修正方法: Java ネットワーク通信エラー: 接続がタイムアウトしましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。