第2章:基本套接字InetAddress

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

public class InetAddressExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			Enumeration<NetworkInterface> interfaceList = NetworkInterface.getNetworkInterfaces();
			if (interfaceList == null) {
				System.out.println("--No interface 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("\r(No address for this interface0)");
					}
					while (addrList.hasMoreElements()) {
						InetAddress address =addrList.nextElement();
						System.out.println("\tAddress"
								+ ((address instanceof Inet4Address ? "(v4)"
								:(address instanceof Inet6Address ? "(v6)" : "(?)"))));
						System.out.println(":" + address.getHostAddress());
					}
				}
			}
		} catch (SocketException e) {
			System.out.println("Error getting network interfaces:" + e.getMessage());
		}

		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("\tUnable to find address for" + host);
			}
		}
	}

}
 

你可能感兴趣的:(java,.net)