接続コンストラクターで作成されたソケットの接続タイムアウトはどれくらいですか?
Java SE 6では、Socketの次のコンストラクターは、構築後にconnectを呼び出す代わりに、ソケットをすぐに接続します。
Socket(InetAddress address, int port)
Socket(InetAddress host, int port, boolean stream)
Socket(InetAddress address, int port, InetAddress localAddr, int localPort)
Socket(String host, int port)
Socket(String host, int port, boolean stream)
Socket(String host, int port, InetAddress localAddr, int localPort)
new Socket()
Java SEの人々がソケットを構築する500の方法を作成したのは便利で便利ですが、500のリストを参照するだけで、(後に呼び出す代わりにSocket#connect()
)必要なことを実行するものを見つけることができます。これらのコンストラクターのドキュメントには、接続タイムアウトとは何か、またはそれらが呼び出すかどうか/どのように呼び出すかが記載されていますconnect(SocketAddress endpoint, int timeout)
。
おそらく、コンストラクターのドキュメントで話してcreateSocketImpl
いることは、タイムアウトについて何かを暗示しているのでしょうか、それとも他の場所でそれを言っているドキュメントがあるのでしょうか?
これらのコンストラクターの実際の接続タイムアウトを知っている人はいますか?
背景:さて、仕様が本当にあいまいであると仮定すると(Javaは移植可能だと思いましたか?)、顧客のコードが一見ランダムな時間にフリーズする理由を理解しようとしています。これらのコンストラクターの1つを呼び出すオープンソースライブラリを呼び出すコードがあります。これらのコンストラクターの1つを呼び出すと、タイムアウトが無限になるのか、それとも非常に長くなるのかを知りたいです。お客様が使用しているJDKのバージョンがわからないので、仕様にタイムアウトがどこかに記載されていると便利です。おそらく顧客からJDKバージョンを入手できると思いますが、おそらくクローズドソースのJDKになるでしょう。その場合、SEライブラリのバージョンのコードをリバースエンジニアリングして調べることができますか?難しい?刑務所に行きますか?