日常の接続において、タイムアウトが長すぎると、開発中のテストに影響します。次の記事では、Java でのソケットの接続タイムアウトを設定するためのコードを紹介します。必要な方は参照してください。一緒にやってみましょう。
はじめに
Java のソケットが指定された IP とポートでホストに接続できない場合、通常の状況では、接続から不確実な期間が発生することは誰もが知っています。 IOException の発生までの期間は、いわゆるタイムアウト期間です。タイムアウト期間が長すぎると、コードが製品になった場合に、ユーザー エクスペリエンスに大きく影響します。この期間?詳細な紹介を見てみましょう:
Socket クラスはメソッドを提供します:
public void connect(SocketAddress endpoint, int timeout) throws IOException
したがって、上記のメソッドを使用して、Socket 接続のタイムアウト時間を設定できます。コードは次のとおりです。
// 设置ip和prot String ip = "127.0.0.1"; int port = 8888; // 创建Socket Socket client = new Socket(); // 设置发送地址 SocketAddress addr = new InetSocketAddress(ip, port); // 超时1秒,并连接服务器 client.connect(addr, 1000);上記の SocketAddress と InetSocketAddress の説明。これらの 2 つのクラスは、Socket 接続アドレスを作成するために使用されます。前者は
抽象クラス
で、後者は前者のサブクラスであり、
public InetSocketAddress(String hostname, int port)
パラメータ:
hostname – ホスト名、またはip
port – ポート番号
さらに、InetSocketAddress は、ローカル IP を取得する一般的に使用される方法など、いくつかのネットワーク関連のメソッドも提供します。
public final InetAddress getAddress()このメソッドは、InetAddress を返します。次に、次のように InetAddress メソッドを通じて IP を取得します:
public String getHostAddress()次に、ローカル IP を取得するコードは次のとおりです:
// client就是上面创建的Socket String host_ip = client.getAddress().getHostAddress();以上です!
概要
以上がJava でのソケットの接続タイムアウトの設定に関するコード ケース分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。