inet address example(socket)

来源:互联网 发布:腾讯云申请域名 编辑:程序博客网 时间:2024/06/07 23:18

package com.opensource.socket;

import java.net.Inet4Address;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Enumeration;

public class InetAddressExample
{
   
    /**
     * @param args
     */
    public static void main(String[] args)
    {
        try
        {
            Enumeration<NetworkInterface> interfaceList = NetworkInterface.getNetworkInterfaces();
           
            if (interfaceList == null)
            {
                System.out.println("no interfaces found.");
            }
            else
            {
                while (interfaceList.hasMoreElements())
                {
                    NetworkInterface iface = interfaceList.nextElement();
                   
                    System.out.println("Interface:" + iface.getName());
                   
                    Enumeration<InetAddress> addrList = iface.getInetAddresses();
                   
                    if (!addrList.hasMoreElements())
                    {
                        System.out.println("no address for this interface.");
                    }
                   
                    while (addrList.hasMoreElements())
                    {
                        InetAddress address = addrList.nextElement();
                        System.out.print("\tAddress "
                            + ((address instanceof Inet4Address ? "(v4)" : (address instanceof Inet6Address ? "(v6)"
                                : "(?)"))));
                        System.out.println(": " + address.getHostAddress());
                    }
                }
            }
        }
        catch (SocketException e)
        {
            System.out.println("SocketException:" + e);
        }
       
        for (String host : args)
        {
            try
            {
                System.out.println(host + ":");
               
                InetAddress[] addressList = InetAddress.getAllByName(host);
                for (InetAddress address : addressList)
                {
                    System.out.println("\t" + address.getHostName() + "/" + address.getHostAddress());
                }
            }
            catch (UnknownHostException e)
            {
                System.out.println("UnknownHostException:" + e);
            }
        }
    }
}

原创粉丝点击