Java培訓(xùn)課程之 InetAddress類(lèi)

1通訊要素1:IP 和 端口號(hào)

  • IP 地址:InetAddress
    • 唯一的標(biāo)識(shí) Internet 上的計(jì)算機(jī)
    • 本地回環(huán)地址(hostAddress):0.0.1 主機(jī)名(hostName):localhost
    • 不易記憶
    • 端口號(hào)標(biāo)識(shí)正在計(jì)算機(jī)上運(yùn)行的進(jìn)程(程序)
      • 不同的進(jìn)程有不同的端口號(hào)
      • 被規(guī)定為一個(gè) 16 位的整數(shù) 0~65535。其中,0~1023被預(yù)先定義的服務(wù)通信占用(如http占用端口80,Tomcat占用端口8080,MySql占用端口3306,Oracle占用端口1521等)。除非我們需要訪(fǎng)問(wèn)這些特定服務(wù),否則,就應(yīng)該使用 1024~65535 這些端口中的某一個(gè)進(jìn)行通信,以免發(fā)生端口沖突
    • 端口號(hào)與IP地址的組合得出一個(gè)網(wǎng)絡(luò)套接字:Socket。

Java培訓(xùn)課程

2 InetAddress類(lèi)

  • Internet上的主機(jī)有兩種方式表示地址:
    • 域名(hostName):atguigu.com
    • IP 地址(hostAddress):108.35.210
  • InetAddress類(lèi)主要表示IP地址,兩個(gè)子類(lèi):Inet4Address、Inet6Address。
  • InetAddress 類(lèi)對(duì)象含有一個(gè) Internet 主機(jī)地址的域名和IP地址:atguigu.com 和 202.108.35.210。
  • 域名容易記憶,當(dāng)在連接網(wǎng)絡(luò)時(shí)輸入一個(gè)主機(jī)的域名后,域名服務(wù)器(DNS)負(fù)責(zé)將域名轉(zhuǎn)化成IP地址,這樣才能和主機(jī)建立連接。 -------域名解析

java培訓(xùn)學(xué)習(xí)

  • InetAddress類(lèi)沒(méi)有提供公共的構(gòu)造器,而是提供了如下兩個(gè)靜態(tài)方法來(lái)獲取InetAddress實(shí)例

java培訓(xùn)學(xué)習(xí)

  • InetAddress提供了如下幾個(gè)常用的方法

java培訓(xùn)學(xué)習(xí)

3. InetAddress類(lèi)代碼實(shí)例

InetAddress address = InetAddress.getByName("nmgwm.com.cn");

 

????? System.out.println(address);

????? //獲取InetAddress 對(duì)象所含的域名

????? System.out.println(address.getHostName());

????? //獲取InetAddress 對(duì)象所含的IP地址

????? System.out.println(address.getHostAddress());

 

????? //獲取本機(jī)的域名和IP地址

????? InetAddress address2 = InetAddress.getLocalHost();

????? System.out.println(address2);