標籤:inetaddress address 通訊端 java
package com.sjf;import java.net.Inet4Address;import java.net.Inet6Address;import java.net.InetAddress;import java.net.NetworkInterface;import java.net.UnknownHostException;import java.util.Enumeration;/** * * @author sjf0115 * */public class InetAddressExample { public static void main(String[] args) { // Get the network interfaces and associated for this host try { NetworkInterface networkInterface = null; // 獲得該主機每一個介面的資訊 Enumeration<NetworkInterface> interfaceList = NetworkInterface.getNetworkInterfaces(); if(interfaceList == null) { System.out.println("--No interfaces found--"); }//if else { while(interfaceList.hasMoreElements()) { networkInterface = interfaceList.nextElement(); // 介面名稱 System.out.println("Interface->"+networkInterface.getName()); // 擷取與介面相關聯的地址 根據主機的不同配置 可能包含IPV4或IPV6地址 Enumeration<InetAddress> inetAddressList = networkInterface.getInetAddresses(); if(inetAddressList == null) { System.out.println("--No address for this NetworkInterface--"); }//if else { InetAddress address = null; while(inetAddressList.hasMoreElements()) { address = inetAddressList.nextElement(); // 對每個地址進行檢測判斷屬於哪個IP地址子類 System.out.print(address instanceof Inet4Address ? "(v4)" : (address instanceof Inet6Address ? "(v6)" : "(?)")); // 列印IP地址 System.out.println(":"+address.getHostAddress()); }//while } }//while } } catch (Exception e) { } String host = "www.baidu.com"; try { // 一個名字可能關聯了多個數字地址 該方法返回一組與給定主機名稱相關聯的所有地址的執行個體 InetAddress[] addressesList = InetAddress.getAllByName(host); for(InetAddress address : addressesList) { System.out.println(address.getHostName()+" "+address.getHostAddress()); }//for // Determines the IP address of a host, given the host‘s name. InetAddress address2 = InetAddress.getByName(host); System.out.println(address2.getHostName()+" "+address2.getHostAddress()); // Returns the local host. InetAddress address3 = InetAddress.getLocalHost(); System.out.println(address3.getHostName()+" "+address3.getHostAddress()); } catch (UnknownHostException e) { e.printStackTrace(); } }}
[Java]通訊端地址InetAddress講解