Java網絡編程InetAddress類
阿新 • • 發佈:2018-06-23
形式 字面值 ack catch package ktr clas 常用 .net
InetAddress用來代表IP地址。一個InetAdress的對象就代表著一個IP地址,
- getByName(String host):在給定主機名的情況下確定主機的 IP 地址,主機名可以是機器名(如 "
java.sun.com
"),也可以是其 IP 地址的文本表示形式。如果提供字面值 IP 地址,則僅檢查地址格式的有效性 - getHostName(): 獲取此 IP 地址的主機名
- getHostAddress():返回 IP 地址字符串(以文本表現形式)
- getLocalHost(): 返回本地主機
InetAddress對象的獲取
InetAddress的構造函數不是公開的(public),所以需要通過它提供的靜態方法來獲取:
- static InetAddress[] getAllByName(String host)
- static InetAddress getByAddress(byte[] addr)
- static InetAddress getByAddress(String host,byte[] addr)
- static InetAddress getByName(String host)
- static InetAddress getLocalHost()
註意:在這些靜態方法中,最為常用的應該是getByName(String host)方法,只需要傳入目標主機的名字,InetAddress會嘗試做連接DNS服務器,並且獲取IP地址的操作
package com.yyx.test; import java.net.InetAddress; public class TestInetAddress { public static void main(String[] args) { InetAddress inetAddress = null; InetAddress iAddress=null; try { inetAddress = InetAddress.getByName("www.baidu.com"); System.out.println(inetAddress); System.out.println(inetAddress.getHostAddress()); System.out.println(inetAddress.getHostName()); System.out.println("============================="); iAddress=InetAddress.getLocalHost(); System.out.println(iAddress); System.out.println(iAddress.getHostAddress()); System.out.println(iAddress.getHostName()); } catch (Exception e) { e.printStackTrace(); } } }
運行結果:
www.baidu.com/61.135.169.125
61.135.169.125
www.baidu.com
=============================
DESKTOP-F4P6SPK/192.168.1.107
192.168.1.107
DESKTOP-F4P6SPK
Java網絡編程InetAddress類