Javaにおけるホストアドレスの取得について.


InetAddress#getLocalHost による方法 [#ybbcff96]

この方法では,処理系によってはループバックアドレス(127.0.0.1)が返される.
InetAddress address = InetAddress.getLocalHost();
String hostAddress = address.getHostAddress();


NetworkInterface#getNetworkInterfaces による方法 [#d381f359]

すべてのネットワークインタフェースを検出し,ループバックでないアドレスを探す.
Enumeration<NetworkInterface> interfaceList = NetworkInterface.getNetworkInterfaces();
while(interfaceList.hasMoreElements())
{
	NetworkInterface networkInterface = interfaceList.nextElement();
	Enumeration<InetAddress> inetList = networkInterface.getInetAddresses();
	while(inetList.hasMoreElements())
	{
		InetAddress address = inetList.nextElement();
		if(!address.isLoopbackAddress())
		{
			return address.getHostAddress();
		}
	}
}
最終更新:2007年03月22日 23:34