java.net.InetAddress 클래스는 IPV4,IPV6에 관한 자바의 클래스이다.

Socket,ServerSocket,URL,DatagramSocket,DatagramPacket등을 포함한 다른 네트워크 클래스에 사용된다.

InetAddress는 DNS서버로 연결하는 정적 (static)팩토리 메소드를 제공한다.

대표적인 메소드로 InetAddress.getByName(www.google.com); 이 있다.

주요 메서드

1)클래스

2)InetSocketAddress 클래스

package com.socket.exam;
import java.net.*;
import java.util.*;
public class Socket01_InetAdress {

	
	public static void main(String[] args) {
		InetAddress ip = null;
		InetAddress[] ipArr = null;

		try {
			ip = InetAddress.getByName("www.naver.com");
			System.out.println("getHostName() :"+ip.getHostName());
			System.out.println("getHostAddress() :"+ip.getHostAddress());
			System.out.println("toString() :"+ip.toString());

			byte[] ipAddr = ip.getAddress();
			System.out.println("getAddress() :"+Arrays.toString(ipAddr));

			String result = "";
			for(int i=0; i < ipAddr.length;i++)
				result += (ipAddr[i] < 0 ? ipAddr[i] + 256 : ipAddr[i])+".";
			System.out.println("getAddress()+256 :"+result);
			System.out.println();
		} catch (UnknownHostException e) {
			e.printStackTrace();
		}

		try {
			ip = InetAddress.getLocalHost();
			System.out.println("getHostName() :"+ip.getHostName());
			System.out.println("getHostAddress() :"+ip.getHostAddress());
			System.out.println();
		} catch (UnknownHostException e) {
			e.printStackTrace();
		}
		
		try {
			ipArr = InetAddress.getAllByName("www.naver.com");

			for(int i=0; i < ipArr.length; i++)
				System.out.println("ipArr["+i+"] :" + ipArr[i]);
		} catch (UnknownHostException e) {
			e.printStackTrace();
		}
	} // main
}