InetAddress:マシンの名前とIPアドレスを調べる

InetAddress はインターネットに接続したマシンの情報を調べる機能を提供します。 マシンの名前と IPアドレスの対応を調べることも可能です。
インターネットに接続するマシンは IPアドレスと呼ばれる 世界でただ一つの番号を割り当てられます。 コンピュータの電話番号のようなものと思えばいいでしょう。 この IPアドレスをお互いに知り合うことで、 インターネットを通じてデータの通信が可能になるわけです。
IPアドレスはとても長い数値(たとえば "204.160.241.99")で表現され、 日常取り扱うのには不便です。 そこでマシンには「名前」を付ける仕組みが存在します。 まず、IPアドレスはインターネットに接続する各機関ごとに まとめてアドレスが割り振られます。 それらをドメインと呼び、ドメインに対応してやはり一意の「ドメイン名」が 割り振られます。"wakhok.ac.jp", "sun.com" などがドメイン名です。 さらにこれにマシンの名前が各ドメインごとに定義され、それが IPアドレスに 対応するようになっています。 "www.wakhok.ac.jp" は "wakhok.ac.jp" 内の "www"という名前のマシンを指すことになります。 マシン名は DNS( Domain Name Service )という世界規模のデータベースの サービスによって IPアドレスに変換されます。

JDKの java.netパッケージの InetAddressクラスは、 マシン名を元にして IPアドレスを含む情報を生成します。 InetAddressには publicなコンストラクタはなく、 staticメソッド getByName()メソッドによってオブジェクトを得ます。 また、現在使用中のマシンの情報はやはり staticなメソッド getLocalHost()に よって知ることができます。


String hostName = "java.sun.com";
InetAddress host = InetAddress.getByName( hostName );

InetAddress myHost = InetAddress.getLocalHost();

ソースファイル