Java에서 호스트 이름 가져오기
이 자습서에서는 Java API를 사용하여 IP 주소와 호스트 이름을 얻는 방법을 살펴보겠습니다.
InetAddress
를 사용하여 Java에서 HostName 가져오기
패키지 java.net에는 현재 시스템의 IP 주소와 호스트 이름을 처리하는 InetAddress
클래스가 포함되어 있습니다.
동일한 클래스의 getLocalHost()
함수로 시스템의 IP 주소를 수집하여 java.net 패키지의 InetAddress
클래스의 getHostName()
을 사용하여 Windows 컴퓨터의 시스템 이름을 얻을 수 있습니다.
보안 관리자가 localhost의 주소 가져오기를 승인하지 않으면 getHostName()
은 IP 주소의 텍스트 표현을 전달합니다.
InetAddress
클래스의 getLocalHost()
및 getByName(문자열 호스트)
메서드는 각각 로컬 및 원격 호스트를 처리합니다.
통사론:
InetAddress inetadd = InetAddress.getLocalHost();
이 함수는 Java 프로그램이 실행 중인 inetadd
로컬 서버에 대한 InetAddress
인스턴스를 생성합니다. 결과적으로 localhost의 주소가 반환됩니다.
이것은 시스템에서 호스트 이름을 검색하여 InetAddress
로 변환하여 수행됩니다.
InetAddress
클래스를 사용하여 Java에서 HostName 가져오기 시연
먼저 다음 라이브러리를 가져옵니다.
java.net.InetAddress
간단한 예를 사용하여 Java에서 호스트 이름을 검색하는 방법을 보여줍니다.
InetAddress inetadd = InetAddress.getLocalHost();
InetAddress
메소드를 사용하여 Java 프로그램이 작동하는 inetadd
라는 로컬 서버에 대한 InetAddress
인스턴스를 생성합니다.
String name = inetadd.getHostName();
getHostName()
메소드를 사용하여 호스트 이름을 가져와 name
이라는 문자열 유형 변수에 저장합니다.
String address = inetadd.getHostAddress();
그런 다음 getHostAddress()
메서드를 사용하여 호스트 주소를 가져와 address
라는 문자열 유형 변수에 저장합니다. 이것이 로컬 또는 사이트 호스트 이름을 주소로 확인할 수 없는 경우 UnknownHostException
이 발생합니다.
소스 코드:
import java.net.InetAddress;
import java.net.UnknownHostException;
public class HostnameExample {
public static void main(String[] args) {
try {
InetAddress inetadd = InetAddress.getLocalHost();
String name = inetadd.getHostName();
String address = inetadd.getHostAddress();
System.out.println("HostName is : " + name);
System.out.println("Host Address is: " + address);
} catch (UnknownHostException u) {
}
}
}
출력:
$javac HostnameExample.java
$java -Xmx128M -Xms16M HostnameExample
HostName is : f97aedb6192a
Host Address is: 127.0.0.2
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn