2013-08-16 2 views
0

IP 주소를 알아야하는 프로그램이 있습니다. 내가비 로컬 IP 주소 얻기 Java

InetAddress current_addr = addresses.nextElement(); 

를 사용할 때 매우 도움이되지 않습니다

127.0.1.1 

를 반환합니다. Java에서 비 로컬 IP 주소를 얻으려면 어떻게해야합니까?

InetAddress IP = InetAddress.getLocalHost(); 
String ipAddress = IP.getHostAddress(); 

가 이상적으로 당신이 하나 이상의 네트워크 인터페이스가없는 경우 IP 주소를 제공해야합니다 : 당신이 사용하는 경우

+0

이 질문은 이미 전에 여러 번 대답하고있다. 예를 들어 http://stackoverflow.com/questions/18254848/getting-ip-in-java/18255093#18255093 – vinay

+0

을 참조하십시오. 몇 가지 요소를 추가로 고려해 보셨습니까? – EJP

답변

1

당신은 무엇을 어떻게해야합니까.

내가 로컬로 테스트 하나 이상의 네트워크 인터페이스가 당신이되는 NetworkInterface 클래스를 사용하려고 할 수있는 경우가

192.168.2.10 

즉 나에게 내 컴퓨터의 올바른 IP 주소를 제공, 여기에 예입니다

관련 게시물에서 촬영
Enumeration<NetworkInterface> n = NetworkInterface.getNetworkInterfaces(); 
      for (; n.hasMoreElements();) 
      { 
        NetworkInterface e = n.nextElement(); 
        System.out.println("Interface: " + e.getName()); 
        Enumeration<InetAddress> a = e.getInetAddresses(); 
        for (; a.hasMoreElements();) 
        { 
          InetAddress addr = a.nextElement(); 
          System.out.println(" " + addr.getHostAddress()); 
        } 
      } 

자료 : java InetAddress.getLocalHost(); returns 127.0.0.1 ... how to get REAL IP?

+0

질문자가 외부 IP 주소 – vinay

+0

을 찾고 있다고 생각합니다. 라우터에서 할당 한 IP 만 반환합니다. –

+0

@ JoshM 아니요, 귀하의 컴퓨터 주소를 반환합니다. 나는 이것을 테스트했고 라우터 주소가 192.168.2.1 인 동안 192.168.2.10을 반환했습니다. –