網路程式的第一步通常是從網址資訊的處理開始,這很容易理解,
如果連網址都無法取得,更別談網路連線了。
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
沒有留言:
張貼留言