검색결과 리스트
IP에 해당되는 글 1건
- 2008.12.02 JAVA 리눅스 IP 주소 알아내기 38
윈도우에서 JAVA 로 IP 주소 가지고 오는소스는 아래와 같다.
[code]try {
ip = InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
e.printStackTrace();
}[/code]
그러나 이것을 리눅스에서 쓴다면 127.0.0.1 즉 루프백 아이피 주소가 나오게 된다.
어떻게 해야할까?
구글링결과 아래와같은 결론을 얻었다.
[code]try {
boolean isLoopBack = true;
Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces();
while(en.hasMoreElements()) {
NetworkInterface ni = en.nextElement();
if (ni.isLoopback())
continue;
Enumeration<InetAddress> inetAddresses = ni.getInetAddresses();
while(inetAddresses.hasMoreElements()) {
InetAddress ia = inetAddresses.nextElement();
if (ia.getHostAddress() != null && ia.getHostAddress().indexOf(".") != -1) {
ip = ia.getHostAddress();
isLoopBack = false;
break;
}
}
if (!isLoopBack)
break;
}
} catch (SocketException e1) {
e1.printStackTrace();
}[/code]
NetworkInterface 라는 클래스를 이용하여 각 네트웍 인터페이스를 검색해서 알아내는 방법이다.
어찌되었건 이렇게 하면 윈도우건 리눅스건 돌아간다.
어째 자바스크립트가 된 기분이다.
이것은 자바의 철학인 WORA(Write Once Run Anyware) 를 위배한다.
앞으로 자바가 어떻게 발전할지는 모르겠지만 가장 기본적인 자바 철학은 지켜 주었으면 하는 바램이다.
자바 힙덤프 뜨기 (69) | 2012.12.18 |
---|---|
JNLP 테스트 (36) | 2010.02.14 |
apache 프로젝트의 commons-dbcp 를 이용하여 connection pool 만들기. (42) | 2008.08.15 |
java 에서 xmlrpc 사용하기 (38) | 2008.07.13 |
annotation 주석? (43) | 2006.12.16 |
RECENT COMMENT