본문 바로가기

IT Data/#Java

[JAVA 고정된 IP주소 가져오기]



자바에서 127.0.0.1 을 무시하고 본래의 IP주소를 얻어오는 메소드 입니다.

import java.net.InetAddress;

import java.net.NetworkInterface;

import java.net.SocketException;

import java.sql.SQLException;

import java.util.Enumeration;

import java.util.LinkedList;



/**

     * 현재 서버의 IP 주소를 가져옵니다.

     * 

     * @return IP 주소

     */

    private String getLocalServerIp()

    {

            try

            {

                for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();)

                {

                    NetworkInterface intf = en.nextElement();

                    for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();)

                    {

                        InetAddress inetAddress = enumIpAddr.nextElement();

                        if (!inetAddress.isLoopbackAddress() && !inetAddress.isLinkLocalAddress() && inetAddress.isSiteLocalAddress())

                        {

                            return inetAddress.getHostAddress().toString();

                        }

                    }

                }

            }

            catch (SocketException ex) {}

            return null;

    }