Java--Socket通訊

來源:互聯網
上載者:User

標籤: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通訊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.