วันจันทร์ที่ 26 กันยายน พ.ศ. 2554

InetAddress

ใน java.net package มีคลาส InetAddress สำหรับเก็บแสดง IP address ซึ่่งใช้ได้กับทั้ง TCP และ UDP protocols โดยปกติใน instance ของคลาส InetAddress จะมีข้อมูลเกี่ยวกับ IP address และอาจจะมี domain name ของ IP address นั้นด้วยก็ได้ ขึ้นกับว่า instance นั้นถูกสร้างขึ้นโดยมี domain name กำหนดให้หรือไม่ การที่ Java ใช้ InetAddress แทน IP address ในการอ้างอิงถึงเครื่องๆหนึ่ง ก็เพื่อให้โปรแกรมไม่ขึ้นกับ IP address ให้สามารถรองรับจำนวนเครื่องคอมพิวเตอร์ที่เพิ่มมากขึ้น เมื่อถึงเวลานั้นคลาส InetAddress จะถูกเปลี่ยนแปลงให้สนับสนุนมาตรฐานใหม่นั้น โดยที่โปรแกรมของเราไม่ต้องถูกเปลี่ยนแปลง

ในคลาส InetAddress นั้นไม่มี public constructor แต่มี public static factory methods สำหรับสร้าง instance ของคลาส เช่น
public static InetAddress getLocalHost() throws UnkhowHostException;
ซึ่งจะให้ InetAddress ของเครื่องที่ทำงาน หลังจากนั้นอาจจะใช้

public String getHostName();
public String getHostAddress();

 ตัวอย่าง


package network.app;
import java.net.*;
public class Main {
public static void main(String[] args) {
try {
InetAddress a = InetAddress.getLocalHost();
System.out.println("name: "+a.getHostName() );
System.out.println("IP:"+a.getHostAddress());
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}

ไม่มีความคิดเห็น:

แสดงความคิดเห็น