JavaTM 2 Platform
Standard Ed. 5.0

パッケージ java.net

ネットワークアプリケーションの実装のためのクラスを提供します。

参照先:
          説明

インタフェースの概要
ContentHandlerFactory このインタフェースは、コンテンツハンドラのファクトリを定義します。
DatagramSocketImplFactory データグラムソケットの実装のためのファクトリを定義するインタフェースです。
FileNameMap ファイル名と MIME タイプ文字列をマップする機構を提供する単純なインタフェースです。
SocketImplFactory ソケット実装のためのファクトリを定義するインタフェースです。
SocketOptions ソケットのオプションを取得または設定するメソッドのインタフェースです。
URLStreamHandlerFactory URL ストリームプロトコルハンドラのファクトリを定義するインタフェースです。
 

クラスの概要
Authenticator Authenticator クラスは、ネットワーク接続に必要な認証を取得するためのオブジェクトを表します。
CacheRequest ResponseCache 内のリソースを格納するためのチャネルを表します。
CacheResponse ResponseCache からリソースを取得するためのチャネルを表します。
ContentHandler 抽象クラス ContentHandler は、URLConnection から Object を読み込むすべてのクラスのスーパークラスです。
CookieHandler CookieHandler オブジェクトは、HTTP 状態管理ポリシー実装を HTTP プロトコルハンドラに渡すコールバック機構を提供します。
DatagramPacket このクラスはデータグラムパケットを表します。
DatagramSocket このクラスは、データグラムパケットを送受信するためのソケットを表します。
DatagramSocketImpl 抽象データグラムおよびマルチキャストソケットを実装する基底クラスです。
HttpURLConnection HTTP 特有の機能をサポートする URLConnection です。
Inet4Address このクラスは、インターネットプロトコルバージョン 4 (IPv4) アドレスを表します。
Inet6Address このクラスは Internet Protocol バージョン 6 (IPv6) アドレスを表します。
InetAddress IP (Internet Protocol) アドレスを表すクラスです。
InetSocketAddress このクラスは、IP ソケットアドレス (IP アドレス + ポート番号) を実装します。
JarURLConnection JAR (Java ARchive) ファイル、または JAR ファイル内にあるエントリへの URL 接続です。
MulticastSocket マルチキャストデータグラムソケットクラスは、IP マルチキャストパケットを送受信するときに役立ちます。
NetPermission このクラスは、各種のネットワークアクセス権のために使います。
NetworkInterface このクラスは、名前で構成されるネットワークインタフェースと、このインタフェースに割り当てられた IP アドレスのリストを表します。
PasswordAuthentication PasswordAuthentication クラスは、Authenticator が使うデータホルダーです。
Proxy このクラスは、プロキシ設定を表します。
ProxySelector URL で参照されるネットワークリソースへの接続時に使用するプロキシサーバ (存在する場合) を選択します。
ResponseCache URLConnection キャッシュの実装を表します。
SecureCacheResponse 安全な方法 (TLS など) を使って取得されたキャッシュ応答を表します。
ServerSocket サーバソケットを実装するクラスです。
Socket このクラスは、クライアントソケット (単に「ソケット」とも呼ぶ) を実装します。
SocketAddress このクラスは、プロトコルが設定されていないソケトアドレスを表します。
SocketImpl 抽象クラス SocketImpl は、ソケットを実際に実装するすべてのクラスに共通のスーパークラスです。
SocketPermission このクラスは、ソケットによるネットワークへのアクセスを表します。
URI URI (Uniform Resource Identifier) 参照を表します。
URL URL クラスは、World Wide Web 上の「リソース」を指すポインタである URL (Uniform Resource Locator) を表します。
URLClassLoader このクラスローダは、JAR ファイルおよびディレクトリの両方を参照する URL の検索パスから、クラスおよびリソースをダウンロードするために使います。
URLConnection 抽象クラス URLConnection は、アプリケーションと URL との間の通信リンクを表すすべてのクラスのスーパークラスです。
URLDecoder HTML 形式をデコードするためのユーティリティクラスです。
URLEncoder HTML 形式を符号化するためのユーティリティクラスです。
URLStreamHandler 抽象クラス URLStreamHandler は、すべてのストリームプロトコルハンドラに共通のスーパークラスです。
 

列挙型の概要
Authenticator.RequestorType 認証を要求しているエンティティのタイプ
Proxy.Type プロキシタイプを表します。
 

例外の概要
BindException ソケットをローカルアドレスおよびポートにバインドしようとしているときエラーが発生したことを示します。
ConnectException ソケットをリモートアドレスおよびポートに接続しようとしたときエラーが発生したことを示します。
HttpRetryException HTTP 要求の再試行が必要であるが、ストリーミングモードが有効になっているため、自動的に再試行できないことを示すためにスローされます。
MalformedURLException 無効な書式の URL が発生したことを示すためにスローされます。
NoRouteToHostException ソケットをリモートアドレスおよびポートに接続しようとしているときにエラーが発生したことを示します。
PortUnreachableException ICMP ポート到達不可能メッセージが接続されたデータグラムに受信されたことを示すシグナルです。
ProtocolException 使用しているプロトコルでエラー (TCP エラーなど) が発生したことを表すためにスローされます。
SocketException 使用しているプロトコルでエラー (TCP エラーなど) が発生したことを表すためにスローされます。
SocketTimeoutException ソケットの読み込みまたは受け入れでタイムアウトが発生したことを示すシグナルです。
UnknownHostException ホストの IP アドレスが判定できなかった場合にスローされます。
UnknownServiceException 未知のサービス例外が発生したことを示すためにスローされます。
URISyntaxException 文字列を URI 参照として解析できなかったことを示すためにスローされた確認済みの例外です。
 

パッケージ java.net の説明

ネットワークアプリケーションの実装のためのクラスを提供します。

java.net パッケージは、大きく 2 つのセクションに分けることができます。

アドレス

アドレスは、ホスト識別子またはソケット端点識別子として java.net API 全体で使用されます。

InetAddress クラスは、IP (Internet Protocol) アドレスを表す抽象化オブジェクトであり、次の 2 つのサブクラスを持ちます。

しかしほとんどの場合、InetAddress 抽象化オブジェクトがほとんどの必要な機能を果たすため、サブクラスと直接的な処理を行う必要はありません。

IPv6 について

IPv6 プロトコルは、すべてのシステムでサポートされているわけではありません。Java ネットワークスタックはこれの検出を試み、利用可能な場合は透過的に使用しますが、システムプロパティを使用してその使用を無効にすることも可能です。IPv6 が利用できないか、明示的に無効にされている場合、ほとんどのネットワーク操作で Inet6Address は有効な引数ではなくなります。InetAddress.getByName(java.lang.String) のようなメソッドは、ホスト名の参照時に Inet6Address を返さないことが保証されていますが、リテラルを渡すことで、そのようなオブジェクトを作成することが可能です。その場合、ほとんどのメソッドは、Inet6Address で呼び出されたときに例外をスローします。

ソケット

ソケットは、ネットワーク上のマシン間で通信リンクを確立する手段です。java.net パッケージは、4 種類のソケットを提供します。

TCP ソケットによる送受信は、Socket.getInputStream() および Socket.getOutputStream() メソッドを介して取得可能な InputStreams と OutputStreams を通じて行われます。

インタフェース

NetworkInterface クラスは、ローカルマシンのすべてのネットワークインタフェース (例: イーサネット接続または PPP 端点) をブラウズおよび照会するための API を提供します。このクラスを通じて、ローカルインタフェースが IPv6 をサポートするように構成されているかどうかを確認できます。

高レベル API

java.net パッケージでは、多くのクラスがより高レベルな抽象化オブジェクトを提供しており、ネットワーク上のリソースへの容易なアクセスを可能にしています。クラスには次のものがあります。

推奨される使用方法は、URI を使ってリソースを識別したあと、リソースにアクセスするときに URL に変換するというものです。その URL から、URLConnection を取得してきめ細かい制御を行うか、または InputStream を直接取得できます。

次はその例です。

URI uri = new URI("http://java.sun.com/");
URL url = uri.toURL();
InputStream in = url.openStream();

プロトコルハンドラ

前述のとおり、URL と URLConnection は、存在する必要のあるプロトコルハンドラに依存します。存在しない場合、例外がスローされます。これが、リソースを識別するだけで、プロトコルハンドラにアクセスする必要のない URI との主な違いです。したがって、どんな種類のプロトコル方式を持つ URI (例: myproto://myhost.mydomain/resource/) も作成できる一方、同様の URL は指定されたプロトコルハンドラのインスタンス化を試みます。存在しない場合、例外がスローされます。

デフォルトでは、プロトコルハンドラはデフォルトの場所から動的にロードされます。ただし、java.protocol.handler.pkgs システムプロパティを設定することで、検索パスを追加できます。たとえば、myapp.protocols に設定されている場合、http では、URL コードはまず myapp.protocols.http.Handler のロードを試み、これが失敗すると、次にデフォルトの場所から http.Handler のロードを試みます。

Handler クラス は、抽象クラス URLStreamHandler のサブクラスでなければならないことに留意してください。

導入されたバージョン:
JDK1.0

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。