2013年2月10日日曜日

[Java]InetAddress クラス

Java のネットワークプログラムを作成するにあたり、ホストの情報を格納するクラス InetAddress クラスがある。

getByName
getByName メソッドで InetAddress クラスを取得し、取得後に getHostName, getHostAddress メソッドでホスト名や IP アドレスを取得することができる。
Example: java_net_00.java
import java.net.*;

public class java_net_00 {
    public static void main(String[] args) {
        InetAddress host = null;
        try {
            host = InetAddress.getByName(args[0]);
        }
        catch (UnknownHostException e) {
            System.out.println("Not found " + args[0]);
            return;
        }
        System.out.println("Host name = " + host.getHostName());
        System.out.println("IP = " + host.getHostAddress());
    }
}

実行結果
> javac java_net_00.java
> java java_net_00 www.google.com
Host name = www.google.com
IP = 66.249.89.147

getLocalHost
ローカルホストの情報を取得する場合は getLocalHost メソッドを使用する
Example: java_net_01.java
import java.net.*;

public class java_net_01 {
    public static void main(String[] args) {
        InetAddress host = null;
        try {
            host = InetAddress.getLocalHost();
        }
        catch (UnknownHostException e) {
            System.err.println(e);
            return;
        }
        System.out.println(host);
    }
}

実行結果
> javac java_net_01.java
> java java_net_01
my-windows-pc/192.168.0.1

0 件のコメント:

コメントを投稿