2013-02-02 24 views
6

これは初心者向けの質問ですが、私はGoogleで探している答えのタイプを得ることができません。未解決のソケットアドレス

java.netパッケージのInetSocketAddressクラスを読んでいたので、createUnresolved(String host, int port)という名前のこのメソッドに遭遇しました。このメソッドはソケットを解決しませんを作成します。

基本的に未解決の意味は?私はプログラムをコンパイルしている間にこの用語を間違えて見つけましたが、それを完全に理解したことはありません。誰でもjavaの一般的な意味を説明してください。

ありがとうございました。

+0

これはJavadocに記載されていますが、間違った引用もしています。 – EJP

+1

ええと、私はそれを完全に理解していないと書いています。 – Rajat

答えて

0

私はこのin a sun-blogが見つかりました:

をしかし、我々はそれをインスタンス化するために使用されたか知っているように、しかし、 たInetSocketAddressを作成するcreateUnresolved()を使用しているとして、それを維持することを決めました。 ユーザーが最初にIPアドレスを打つと、それを処理しません。 (以前は区別できなかったと思います) ユーザーは最初に(IPまたは名前)を使用していました。 addrを変更してもトークンキャッシュのキーは変更されません。したがって、 委任トークンは引き続き機能するはずです。

基本的にハーフベークされたInetSocketAddressです。最終的な反復ではありません。これは、中間のステップ..

そしてAPIからだ:

また 試みがホスト名を解決するために行われます、その場合にはペア(ホスト名+ポート番号)とすることができます。

解決が失敗した場合ので、私たちは、ホスト名、またはユーザーフレンドリー」を見つけられませんでした、アドレスが未解決であると言われているが、 はまだプロキシ

を介して接続しているようないくつかの状況で使用することができますwww.abc.com "メソッドを使用します。

しかし、プロキシ経由で接続している場合は、プロキシサーバーがホスト名を処理するので問題ありません。

0

私は同じ例外だった:java.net.UnknownHostExceptionを発行します。ホストは未解決です:私は、プロトコルHTTPS追加したのでhttps://www.google.com

問題がされた://

://を私は、HTTPSを取り除いた後、問題が解決されます
try { 
    Socket socket = new Socket(); 
    socket.connect(new InetSocketAddress("www.google.com", 443), 100); 
    socket.close(); 
    return true; 
} catch (IOException e) { 
    e.printStackTrace(); 
    return false; 
}