[Java] 모든 OS에서 서버 고정IP 조회하기

OS가 Window 인 경우에는
String hostAddr = java.net.InetAddress.getLocalHost().getHostAddress();
를 하면 IP를 알 수 있다.
하지만 UNIX나 LINUX에서 사용하게 되면
127.0.0.1 이거나 java.net.UnknownHostException 등의 에러가 나면서 제대로 IP를 조회할 수 없다.
OS나 장치에 상관없이 고정 IP를 가져오기 위해선
String hostAddr = ""; try { Enumeration<NetworkInterface> nienum = NetworkInterface.getNetworkInterfaces(); while (nienum.hasMoreElements()) { NetworkInterface ni = nienum.nextElement(); Enumeration<InetAddress> kk= ni.getInetAddresses(); while (kk.hasMoreElements()) { InetAddress inetAddress = kk.nextElement(); if (!inetAddress.isLoopbackAddress() && !inetAddress.isLinkLocalAddress() && inetAddress.isSiteLocalAddress()) { hostAddr = inetAddress.getHostAddress().toString(); } } } } catch (SocketException e) { e.printStackTrace(); }
이렇게 사용하면 된다. 덕분에 이중화 환경에서 실행되는 스케줄링을 하나의 IP에서만 사용할 수 있게 됐다.
출처 https://darkhorizon.tistory.com/320#comment16350241
'Backend > Java' 카테고리의 다른 글
[Java] 매개변수 ... / 점점점 / 자료형 점점점 / 자료형 ... / varargs / 가변인자 (0) | 2021.12.21 |
---|---|
[Java] 빌더패턴(Builder Pattern) 사용하기 (0) | 2021.10.06 |
[Java] JSTL 로 replace 사용하여 문자열 치환하기 (0) | 2021.08.30 |
[Java]JSP에서 Include 사용방법 (0) | 2021.01.19 |
[Java]Java와 JSTL로 절대경로, 상대경로, 웹페이지 경로 알아내기 (0) | 2021.01.18 |
댓글
이 글 공유하기
다른 글
-
[Java] 매개변수 ... / 점점점 / 자료형 점점점 / 자료형 ... / varargs / 가변인자
[Java] 매개변수 ... / 점점점 / 자료형 점점점 / 자료형 ... / varargs / 가변인자
2021.12.21 -
[Java] 빌더패턴(Builder Pattern) 사용하기
[Java] 빌더패턴(Builder Pattern) 사용하기
2021.10.06 -
[Java] JSTL 로 replace 사용하여 문자열 치환하기
[Java] JSTL 로 replace 사용하여 문자열 치환하기
2021.08.30 -
[Java]JSP에서 Include 사용방법
[Java]JSP에서 Include 사용방법
2021.01.19
댓글을 사용할 수 없습니다.