반응형
이번 개발에 있어서 윈도우 이클립스에서 개발한 서버가 리눅스 환경에서 일부 기능에 문제가 있어서 찾다보니 같은 메소드지만 윈도우 환경에서 로컬 ip주소를 얻어오는 코드가 리눅스에서는 "127.0.0.1"을 가져와서 문제가 되었다. 구글에서 검색한 결과 코드가 좀 길고 지저분하지만 아래 코드를 써줘야 했다.
* Windows
try {
* Linux
* Windows
try {
System.out.println(InetAddress.getLocalHost().getHostAddress());
} catch (UnknownHostException e) {
e.printStackTrace();
}
* Linux
try {
String ip = null;
boolean isLoopBack = true;
Enumeration<NetworkInterface> en;
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();
System.out.println(ip);
isLoopBack = false;
break;
}
}
if (!isLoopBack)
break;
}
System.out.println(" IP = " + ip);
} catch (SocketException e) {
e.printStackTrace();
}
반응형
'Devlopment > Java' 카테고리의 다른 글
달팽이 & 피보나치 수열 구현 (0) | 2011.06.01 |
---|---|
JNI(Java Native Interface) - 객체 (0) | 2011.06.01 |
두 개의 스택을 이용한 큐 구현 (0) | 2011.05.31 |
JNI(Java Native Interface) (0) | 2011.05.31 |
System.out.println의 재정의 (0) | 2011.05.13 |
자바 enum에서 내부 String (0) | 2011.04.08 |
자바 Exception의 printStackTrace 구현. (0) | 2011.04.07 |
자바 개발시 오버라이드 @Override를 꼭 사용하자 (0) | 2010.08.27 |
이클립스의 자바 메모리 설정 (2) | 2010.04.29 |
자바 웹 스타트 (0) | 2009.04.24 |