總網頁瀏覽量

2015年12月29日 星期二

[Java] Java 網頁設計 InetAddress 物件 _Host_001, Host_002, Host_003

網路程式的第一步通常是從網址資訊的處理開始,這很容易理解,
如果連網址都無法取得,更別談網路連線了。



InetAddress 產生新物件, 指定電腦名稱和IP, 建立一個網路位置,
使用 Datagram Packet 封包 或 Socket 網路平台類別內.

無建構子, 所以不能用繼承.

在 InetAddress 類別有3個靜態方法可以傳回 InetAddress 物件
1. public static InetAddress InetAddress.getLocalHost()
2. public static InetAddress InetAddress.getByName(String hostname)
3. public static InetAddress[] InetAddress.getAllByName(String hostname)


InetAddress主要包括兩個欄位(field),即名稱與IP位址,
我們可以使用getHostName()與getHostAddress()方法分別取得這兩個資訊。

import java.net.*;

public class Host_001{
    public static void main(String args[]){
        try{
            InetAddress address = InetAddress.getLocalHost();
            System.out.println(address);
            System.out.println(address.getHostName());
            System.out.println(address.getHostAddress());
        }catch(UnknownHostException e){
            e.printStackTrace();
        }
    }
}

由address 得到使用者電腦名稱 / IP 位置
address.getHostName() 得到使用者電腦名稱
address.getHostAddress() 得到使用者電腦 IP 位置 

----------------------------------------------------------------------------------------

import java.net.*;
import java.io.*;

import java.net.*;

public class Host_002{
    public static void main(String args[]){
        try{
            InetAddress address = InetAddress.getByName("IP");
            System.out.println(address);
            System.out.println(address.getHostName());
            System.out.println(address.getHostAddress());
        }catch(UnknownHostException e){
            e.printStackTrace();
        }
    }
}

getByName() 得到該IP位置的電腦名稱, 網指資訊,


----------------------------------------------------------------------------------------

如果IP不只一個就要用陣列的方式來顯示,
getByAllName() 方法可以把全部的網指資訊列出,
InetAddress這裡會回傳陣列.

//package onlyfun.caterpillar;

import java.net.*;

public class Host_003{
    public static void main(String args[]){
        try{
            InetAddress[] address = InetAddress.getAllByName("www.google.com");
            for(int i = 0 ; i < address.length ; i++)
                System.out.println(address[i]);
        }catch(UnknownHostException e){
            e.printStackTrace();
        }
    }
}



http://openhome.cc/Gossip/JavaGossip-V2/InetAddress.htm

沒有留言:

張貼留言