述べる価値のある java.net のその他の変更:
注目すべきバグの修正:
- InetAddress
JDK1.0.2 ではバグが存在し、対応するホスト名 (例えば、"java.sun.com") が見付からない場合、IP アドレス String (例えば、"206.26.48.100") から InetAddress を生成できませんでした。これは結果として、UnknownHostException となりました。このバグは JDK1.1 では修正されました。さらに、InetAddress が IP アドレスから生成されるとき、対応するホスト名は特別に要求される (InetAddress.getHostName() 経由で) まで、パフォーマンスの向上のため参照されません。
- ServerSocket/DatagramSocket close()
JDK1.0.2 ではバグが存在し、ServerSocket および DatagramSocket の close() メソッドは synchronized とされました。この結果、1つのスレッドが無期限に DatagramSocket.receive() または ServerSocket.accept() でブロックされた場合、別のスレッドは close() を呼び出してブロックしているスレッドを抜け出すことができませんでした。これは JDK1.1 では close() メソッドを非同期にして修正されました。
- URLConnection
JDK1.0.2 ではバグが存在し、次の URLConnection のメソッドなどが機能しませんでした:
- setRequestProperty()
- getRequestProperty()
- getHeaderField()
- getHeaderFieldInt()
- getContentLength()
- getDate()
これらは JDK1.1 では修正されました。
ローカルポート/アドレスへのバインディング:
- Socket、ServerSocket、DatagramSocket
これらのクラスは、固有のローカルアドレスとポートへのバインディングのために構築子をオーバーロードしました。これは、マルチホームのコンピュータで動作し、ネットワークインタフェースを使用しているものを特定に制御する必要があるプロキシサーバなどのアプリケーションには有用で必要なものです。
MulticastSocket:
- MulticastSocket クラスはパッケージ sun.net から java.net のコア API に移動しました。
HttpURLConnection:
- JDK1.1 は新しいクラス、HttpURLConnection を導入し、これは URLConnection を
拡張し HTTP に固有の追加機能を提供します:
- 次のような、すべての要求メソッドを HTTP/1.1 と共に使用する機能:
- GET
- POST
- PUT
- HEAD
- TRACE
- DELETE
- OPTIONS
- HTTP リダイレクトに従うかどうかを制御します。
David Brown
Last modified: Thu Dec 5 15:09:54 PST