Java でのソケット設定接続タイムアウトのコード実装の詳細な説明

怪我咯
リリース: 2017-07-02 10:17:17
オリジナル
1783 人が閲覧しました

日常の接続において、タイムアウトが長すぎると、開発中のテストに影響します。次の記事では、Java でのソケットの接続タイムアウトを設定するためのコードを紹介します。必要な方は参照してください。一緒にやってみましょう。

はじめに

Java のソケットが指定された IP とポートでホストに接続できない場合、通常の状況では、接続から不確実な期間が発生することは誰もが知っています。 IOException の発生までの期間は、いわゆるタイムアウト期間です。タイムアウト期間が長すぎると、コードが製品になった場合に、ユーザー エクスペリエンスに大きく影響します。この期間?詳細な導入を見てみましょう:

Socket クラスはメソッドを提供します:

public void connect(SocketAddress endpoint, int timeout) 
    throws IOException
ログイン後にコピー

パラメータ:


    エンドポイント – SocketAddress はホスト IP とポートを提供します
  • タイムアウト – 使用されますミリ秒単位のタイムアウト値。
  • このメソッドは、Socket を指定されたサーバーに接続し、タイムアウト値を設定するために使用されます。タイムアウト値を 0 より大きく設定すると、タイムアウトが発生すると例外がスローされ、タイムアウト値を 0 に設定すると接続が無限にタイムアウトします。

したがって、上記のメソッドを使用して Socket 接続のタイムアウト時間を設定できます。 コードは次のとおりです。

上記の 2 つのクラスは、Socket 接続アドレスを作成するために使用されます。

抽象クラス

、後者は前者のサブクラスであり、アドレスは

構築メソッド

を通じて作成されます:

パラメータ:


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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!