[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에서만 사용할 수 있게 됐다.
'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