Java中的IP地址和InetAddress類應用詳解。本站提示廣大學習愛好者:(Java中的IP地址和InetAddress類應用詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中的IP地址和InetAddress類應用詳解正文
Java說話的優勢之一是Java法式能拜訪收集資本。Java供給一系列的類支撐Java法式拜訪收集資本。
TCP/IP協定和IP地址
為了停止收集通訊,通訊兩邊必需遵照通訊協定.今朝最普遍應用的是TCP/IP協定,它是Internet中各方所遵守的公共協定.TCP(Transport Control Protocol)是一種傳輸掌握協定,IP(Internet Protocol)是一種網際協定,TCP/IP代表這兩個協定的。
TCP/IP分為四個條理:
TCP協定將任何收集信息傳輸看成信息流。例如,機械A上的一個長報文發送到機械B,發送端A須要將數據分片,把一片片數據分離打包發送。數據包有一個頭,指明該數據包發往何處、凶中數據在吸收序列中所處的地位。每一個包都依照IP地址供給的目標地從一個台機械傳送到另外一台機械,或從一個收集節點傳送到另外一個收集節點。在吸收端B,這些數據包都可以或許依照准確的次序從新組裝起來。
TCP/IP協定是一個協定族,由一組協定構成,重要包括以下更詳細的協定:
Telnet(長途登錄):許可一台盤算機用戶登錄到另外一台長途盤算機上,使長途操作好像在當地盤算機上操作一樣。
FTP(File Transfer protocol,文件傳輸協定):許可用戶將長途主機上的文件復制到本身的盤算機上。
SMTP(simple Mail Transfer Protocol,簡略郵件傳輸協定):用於傳輸電子郵件。
NFS(Network file Server,收集文件辦事器):使多台盤算機通明地拜訪彼此的目次。
HTTP:一種超文本傳輸協定,它是基於TCP/IP協定的,是WWW閱讀器和辦事器之間運用層的通訊協定。HTTP是一種通用、無狀況、面向對象的協定。HTTP會話(事務)包含四個步調:銜接(Connection)、要求(Request)、應對(Response)和封閉(Close)。
Java說話可編寫低層的收集運用。例如,傳輸文件,樹立郵件掌握器,處置收集數據等。Java說話支撐的Internet協定有ftp、telnet、www等,支撐收集通訊的軟件都在java.net包中,例如,java.net.ftp、java.net.www等。
IP地址用於指明因特網上的一台盤算機在收集中的地址,用32位二進制代碼表現一個收集地址。地址分A、B、C、D、E五類,經常使用的是A、B、C三類:
A(1.0.0.0-126.255.255.255):0,7位收集號,後24位為主機號;
B(128.0.0.0-191.255.255.255):10,14位收集號,後16位為主機號;
C(192.0.0.0-223.255.255.255):110,21位收集號,後8位為主機號;
D(224.0.0.0-239.255.255.255):1110,28位多點播送組標號;
E(240.0.0.0-254.255.255.255):1111,保存實驗應用。
平日,IP地址用四段十進制數表現(8位一段)。例如:
58.218.204.252
或用文字域名表現。例如:
www.jb51.net
在因特網上,域名辦事器(Domain Name Server,DNS)履行文字稱號到二進制收集地址的映照。
InetAddress類
Java.net包中有InetAddress類的界說,InetAddress類的對象用於IP地址和域名,該類供給以下辦法:
getByName(String s):取得一個InetAddress 類的對象,該對象中含有主機的IP地址和域名,該對象用以下格局表現它包括的信息:www.sina.com.cn/202.108.37.40;
String getHostName():獲得InetAddress對象的域名;
String getHostAddress():獲得InetAddress對象的IP地址;
getLocalHost():取得一個InetAddress對象,該對象含有當地機的域名和IP地址。
【例】 解釋Inetaddress類的用法的運用法式。法式演示若何獲得www.weixueyuan.net的域名和IP地址。
Import java.net.*; Class Example10_1{ Public static void main(String args[]){ Try{ //以下代碼經由過程域名樹立InetAddress對象: InetAddress addr = InetAddress.getByname(“www.jb51.net”); String domainName = addr.getHostName();//取得主機名 String IPName = addr.getHostAddress();//取得IP地址 System.out.println(domainName); System.out.println(IPName); }catch(UnknownHostException e){ e.printStackTrace(); } } }
運轉成果為:
www.jb51.net 58.218.204.252