標籤:color 應用 互連網 nbsp img net 對象 .net 協議棧
下面內容是Java開發內容的進階知識點,需要對Java中的物件導向、IO、多線程、以及網路相關知識有一定的基礎。(知識永遠都有深度,本章節長期更新內容)
1、網路基礎知識
網路通訊的條件:1、兩個通訊的端都要有各自的IP地址作為唯一標識,簡單的來說IP地址用來區分不同機器(電腦)。2、語言要相通。3、如何辨別不同程式的通訊需要連接埠號碼來區別,簡單的來說連接埠號碼就是用來標識不同的應用程式。
TCP/IP是目前世界上使用最廣泛的協議,是以TCP和IP為基礎的不同層次上多個協議的集合,也稱TCP/IP協議族 或 TCP/IP 協議棧。
TCP:Transmission Control Protocol 傳輸控制通訊協定
IP:Internet Protocol 互連網協議
TCP/IP模型
>>IP和連接埠<<
1、用於區分不同應用程式。
2、連接埠號碼範圍為0~65535,其中0~1023為系統所保留。如果自訂連接埠號碼,所以建議用1024之後的連接埠號碼。
3、IP地址和連接埠號碼組成了所謂的Socket,Socket是網路上運行程式之間雙向通訊鏈路的終結點,是TCP和UDP的基礎。
常用的連接埠號碼需要記一下:http:80 ftp:21 telnet:23
——————————Java中的網路支援—————————
針對網路通訊的不同層次,Java提供的網路功能有四大類:
>>1、InetAddress:用於標識網路上的硬體資源
>>2、URL:統一資源定位器 通過URL可以直接讀取或寫入網路上的資料
>>3、Socket:使用TCP協議實現網路通訊的Socket相關的類。
>>4、Datagram:使用UDP協議,將資料儲存在資料報中,通過網路進行通訊。
2、InetAddress類
查看I-net-Address的API文檔,發現沒有構造方法,也就是不能通過new來建立。所以肯定有靜態方法來建立。
1 import java.net.InetAddress; 2 import java.net.UnknownHostException; 3 import java.util.Arrays; 4 5 public class Test1{ 6 public static void main(String[] args) throws UnknownHostException{ 7 // 擷取原生InetAdresss執行個體 8 InetAddress address = InetAddress.getLocalHost(); 9 System.out.println("電腦名稱:"+address.getHostName()+"\nIP地址:"+address.getHostAddress());10 11 // 擷取位元組數組形式的IP地址12 byte[] bytes = address.getAddress();13 System.out.println("位元組數組形式的IP:"+Arrays.toString(bytes));14 System.out.println(address);15 16 // 也可以通過機器名來擷取InewAdress17 InetAddress address2 = InetAddress.getByName("MacBook-Air-2.local");18 System.out.println("通過電腦名稱字建立的InetAddress對象:"+address2);19 System.out.println("電腦名稱:"+address2.getHostName());20 System.out.println("IP地址:"+address2.getHostAddress());21 22 // 也可以通過IP地址來擷取InewAdress23 InetAddress address3 = InetAddress.getByName("192.168.1.102");24 System.out.println("通過電腦IP地址建立的InetAddress對象:"+address3);25 System.out.println("電腦名稱:"+address3.getHostName());26 System.out.println("IP地址:"+address3.getHostAddress());27 28 29 }30 }
輸出結果:
3、URL
URL(Uniform Resource Locator)統一資源定位器,表示Internet上某一資源的地址。 俗稱就是網址。
URL由兩部分組成:協議名稱+資源名稱。
在Java.net包中,提供了URL類來表示URL。
4、TCP編程
5、UDP編程
Java--Socket通訊