国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Java > 正文

Java中的IP地址和InetAddress類使用詳解

2019-11-26 14:56:10
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Java語(yǔ)言的優(yōu)勢(shì)之一是Java程序能訪問(wèn)網(wǎng)絡(luò)資源。Java提供一系列的類支持Java程序訪問(wèn)網(wǎng)絡(luò)資源。
TCP/IP協(xié)議和IP地址

為了進(jìn)行網(wǎng)絡(luò)通信,通信雙方必須遵守通信協(xié)議.目前最廣泛使用的是TCP/IP協(xié)議,它是Internet中各方所遵循的公共協(xié)議.TCP(Transport Control Protocol)是一種傳輸控制協(xié)議,IP(Internet Protocol)是一種網(wǎng)際協(xié)議,TCP/IP代表這兩個(gè)協(xié)議的。

TCP/IP分為四個(gè)層次:

  1. 網(wǎng)絡(luò)接口層:負(fù)責(zé)接收和發(fā)送物理幀;
  2. 網(wǎng)絡(luò)層:負(fù)責(zé)相鄰節(jié)點(diǎn)之間的通信;
  3. 傳輸層:負(fù)責(zé)起點(diǎn)到終點(diǎn)的通信;
  4. 應(yīng)用層:提供諸如文件傳輸、電子郵件等應(yīng)用程序。

TCP協(xié)議將任何網(wǎng)絡(luò)信息傳輸當(dāng)作信息流。例如,機(jī)器A上的一個(gè)長(zhǎng)報(bào)文發(fā)送到機(jī)器B,發(fā)送端A需要將數(shù)據(jù)分片,把一片片數(shù)據(jù)分別打包發(fā)送。數(shù)據(jù)包有一個(gè)頭,指明該數(shù)據(jù)包發(fā)往何處、兇中數(shù)據(jù)在接收序列中所處的位置。每個(gè)包都按照IP地址提供的目的地從一個(gè)臺(tái)機(jī)器傳送到另一臺(tái)機(jī)器,或從一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)傳送到另一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)。在接收端B,這些數(shù)據(jù)包都能夠按照正確的順序重新組裝起來(lái)。

TCP/IP協(xié)議是一個(gè)協(xié)議族,由一組協(xié)議組成,主要包含以下更具體的協(xié)議:
Telnet(遠(yuǎn)程登錄):允許一臺(tái)計(jì)算機(jī)用戶登錄到另一臺(tái)遠(yuǎn)程計(jì)算機(jī)上,使遠(yuǎn)程操作如同在本地計(jì)算機(jī)上操作一樣。
FTP(File Transfer protocol,文件傳輸協(xié)議):允許用戶將遠(yuǎn)程主機(jī)上的文件復(fù)制到自己的計(jì)算機(jī)上。
SMTP(simple Mail Transfer Protocol,簡(jiǎn)單郵件傳輸協(xié)議):用于傳輸電子郵件。
NFS(Network file Server,網(wǎng)絡(luò)文件服務(wù)器):使多臺(tái)計(jì)算機(jī)透明地訪問(wèn)彼此的目錄。
HTTP:一種超文本傳輸協(xié)議,它是基于TCP/IP協(xié)議的,是WWW瀏覽器和服務(wù)器之間應(yīng)用層的通信協(xié)議。HTTP是一種通用、無(wú)狀態(tài)、面向?qū)ο蟮膮f(xié)議。HTTP會(huì)話(事務(wù))包括四個(gè)步驟:連接(Connection)、請(qǐng)求(Request)、應(yīng)答(Response)和關(guān)閉(Close)。

Java語(yǔ)言可編寫低層的網(wǎng)絡(luò)應(yīng)用。例如,傳輸文件,建立郵件控制器,處理網(wǎng)絡(luò)數(shù)據(jù)等。Java語(yǔ)言支持的Internet協(xié)議有ftp、telnet、www等,支持網(wǎng)絡(luò)通信的軟件都在java.net包中,例如,java.net.ftp、java.net.www等。

IP地址用于指明因特網(wǎng)上的一臺(tái)計(jì)算機(jī)在網(wǎng)絡(luò)中的地址,用32位二進(jìn)制代碼表示一個(gè)網(wǎng)絡(luò)地址。地址分A、B、C、D、E五類,常用的是A、B、C三類:
A(1.0.0.0-126.255.255.255):0,7位網(wǎng)絡(luò)號(hào),后24位為主機(jī)號(hào);
B(128.0.0.0-191.255.255.255):10,14位網(wǎng)絡(luò)號(hào),后16位為主機(jī)號(hào);
C(192.0.0.0-223.255.255.255):110,21位網(wǎng)絡(luò)號(hào),后8位為主機(jī)號(hào);
D(224.0.0.0-239.255.255.255):1110,28位多點(diǎn)廣播組標(biāo)號(hào);
E(240.0.0.0-254.255.255.255):1111,保留試驗(yàn)使用。

通常,IP地址用四段十進(jìn)制數(shù)表示(8位一段)。例如:
    58.218.204.252
或用文字域名表示。例如:
    www.survivalescaperooms.com
在因特網(wǎng)上,域名服務(wù)器(Domain Name Server,DNS)執(zhí)行文字名稱到二進(jìn)制網(wǎng)絡(luò)地址的映射。
InetAddress類

Java.net包中有InetAddress類的定義,InetAddress類的對(duì)象用于IP地址和域名,該類提供以下方法:
getByName(String s):獲得一個(gè)InetAddress 類的對(duì)象,該對(duì)象中含有主機(jī)的IP地址和域名,該對(duì)象用如下格式表示它包含的信息:www.sina.com.cn/202.108.37.40;
String getHostName():獲取InetAddress對(duì)象的域名;
String getHostAddress():獲取InetAddress對(duì)象的IP地址;
getLocalHost():獲得一個(gè)InetAddress對(duì)象,該對(duì)象含有本地機(jī)的域名和IP地址。

【例】 說(shuō)明Inetaddress類的用法的應(yīng)用程序。程序演示如何獲取www.weixueyuan.net的域名和IP地址。

Import java.net.*;Class Example10_1{  Public static void main(String args[]){    Try{ //以下代碼通過(guò)域名建立InetAddress對(duì)象:      InetAddress addr = InetAddress.getByname(“www.survivalescaperooms.com”);      String domainName = addr.getHostName();//獲得主機(jī)名      String IPName = addr.getHostAddress();//獲得IP地址      System.out.println(domainName);      System.out.println(IPName);    }catch(UnknownHostException e){      e.printStackTrace();    }  }}

運(yùn)行結(jié)果為:

www.survivalescaperooms.com58.218.204.252

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南靖县| 黄冈市| 十堰市| 东城区| 手游| 通海县| 永宁县| 威远县| 阳东县| 黄陵县| 军事| 邹城市| 凤庆县| 北海市| 隆子县| 九龙县| 昭平县| 榆树市| 威远县| 涟水县| 台安县| 昌吉市| 马山县| 同心县| 大宁县| 余干县| 湘阴县| 璧山县| 平原县| 南雄市| 东兰县| 合肥市| 平阴县| 肃北| 大渡口区| 昆山市| 南郑县| 鸡西市| 衢州市| 陇川县| 乐昌市|