반응형
네트워크 프로그래밍을 시작하려면 IP 주소에 대한 이해가 필수인데요.
오늘은 Java의 InetAddress 클래스를 활용해 내 PC의 로컬 IP 주소와 서버의 IP 주소를 확인하는 방법을 소개합니다.
간단한 코드로 네트워크 프로그래밍의 첫걸음을 떼어보세요! 😊
1. 주요 클래스 소개: InetAddress란?
Java의 InetAddress 클래스는 IP 주소를 표현하기 위해 제공되는 클래스입니다.
이를 통해 로컬 컴퓨터의 IP 주소를 확인하거나, 특정 도메인의 IP 주소를 얻을 수 있답니다.
이 클래스는 IP 주소와 호스트 이름 간의 매핑을 다룰 때 유용하게 사용됩니다.
2. 코드 살펴보기: 내 IP와 서버 IP 확인하기
전체 코드
package com.javaex.network;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class InetAddressEx {
public static void main(String[] args) {
// 내 PC의 로컬 IP 확인
printLocalIp();
// 서버 IP (naver, google) 확인
printServerIp("www.naver.com");
printServerIp("www.google.com");
}
private static void printLocalIp() {
// local loopback : 127.0.0.1 (로컬호스트)
try {
InetAddress local = InetAddress.getLocalHost();
System.out.println("Local IP Address: " + local.getHostAddress());
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
private static void printServerIp(String hostName) {
try {
InetAddress[] hosts = InetAddress.getAllByName(hostName);
for (InetAddress remote : hosts) {
System.out.println(hostName + " -> IP Address: " + remote.getHostAddress());
}
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
3. 코드 설명 및 주요 메서드
1) printLocalIp(): 내 로컬 IP 확인
- InetAddress.getLocalHost()
내 컴퓨터의 로컬 IP 주소를 반환합니다.- 로컬호스트: 일반적으로 127.0.0.1을 반환하며, 이는 자기 자신을 가리키는 IP입니다.
- 반환된 IP 주소는 getHostAddress()로 출력할 수 있습니다.
InetAddress local = InetAddress.getLocalHost();
System.out.println("Local IP Address: " + local.getHostAddress());
2) printServerIp(String hostName): 서버 IP 확인
- InetAddress.getAllByName(hostName)
입력받은 호스트 이름(도메인)의 모든 IP 주소를 배열로 반환합니다.
예를 들어, www.google.com은 여러 IP 주소를 가질 수 있습니다. - 반복문을 사용해 배열에 포함된 모든 IP 주소를 출력합니다.
InetAddress[] hosts = InetAddress.getAllByName(hostName);
for (InetAddress remote : hosts) {
System.out.println(hostName + " -> IP Address: " + remote.getHostAddress());
}
4. 실행 결과
코드를 실행하면 아래와 같은 결과를 얻을 수 있습니다.
Local IP Address: 192.168.0.101
www.naver.com -> IP Address: 223.130.200.107
www.naver.com -> IP Address: 223.130.200.104
www.google.com -> IP Address: 142.250.191.78
www.google.com -> IP Address: 142.250.191.110
...
- Local IP Address:
내 컴퓨터의 로컬 IP 주소를 확인할 수 있습니다. - Server IP Address:
특정 도메인(예: 네이버, 구글)의 IP 주소를 반환하며, 여러 IP가 존재할 수도 있습니다.
5. 활용 사례 및 팁
1) 네트워크 상태 확인
- 로컬 IP 주소를 확인하면 현재 네트워크 연결 상태를 쉽게 파악할 수 있습니다.
- 서버의 IP 주소를 확인하면 특정 서버와의 연결 상태를 테스트할 때 유용합니다.
2) 네트워크 디버깅
- 도메인 이름이 IP 주소로 변환되지 않을 때 문제를 진단할 수 있습니다.
3) 서버 로드 밸런싱 확인
- 대형 웹사이트(예: Google)는 여러 IP 주소를 통해 트래픽을 분산합니다.
- 이를 확인하려면 InetAddress.getAllByName()을 활용하세요.
6. 마무리
이번 코드를 통해 Java에서 네트워크 프로그래밍의 기본을 배우셨을 텐데요,
간단한 코드로도 네트워크를 다룰 수 있다는 점이 매력적이지 않나요?
여러분의 네트워크 프로그래밍 여정을 응원합니다! 🚀
반응형
'개발 > JAVA' 카테고리의 다른 글
Java에서 객체와 클래스 기본 이해하기: 간단한 상품 관리 예제 (12) | 2025.01.30 |
---|---|
Java에서 상속과 업캐스팅/다운캐스팅 배우기 (3) | 2025.01.29 |
Java로 배우는 간단한 TCP 소켓 프로그래밍 예제 (4) | 2025.01.27 |
쉽게 배우는 Java 에코 서버와 클라이언트 만들기! (8) | 2025.01.24 |
JDBC와 오라클 데이터베이스: 자바로 간단한 작가 관리 애플리케이션 만들기 (4) | 2025.01.23 |