Java網絡編程:TCP和UDP通信模型詳解及基於代碼實戰的通信編程

編程語言 Java 通信 軟件 互聯網IT技術 互聯網IT技術 2017-10-10

1. Socket簡介

(1)Socket概述:

Socket通常成為套接字,用於描述IP地址和端口,是一個通信的句柄。在internet上的主機一般運行了多個服務軟件,同時提供幾種服務。每種服務都打開一個socket,並綁定到一個端口上,不同的端口對應不同的服務。

(2)應用程序網絡通信原理:

通常通過套接字向網絡發出請求後者答應網絡請求。Socket和ServerSocet類位於java.net包中。ServerSocket位於服務器,Socket是建立網絡連接時使用的。在連接成功時,應用程序兩端都會生成一個Socket實例,操作這個實例,完成所需對話。

(3)網絡編程分類:

java.net包中提供了兩種常見的網絡協議的支持:

TCP:TCP是傳輸控制協議的縮寫,它保障了兩個應用程序之間的可靠通信。通常用於互聯網協議,被稱為TCP/IP。

UDP:UDP是用戶數據報協議的縮寫。一個無連接的協議。提供了應用程序之間要發送的數據的數據包。

2. TCP通信模型和編程

1)TCP通信模型圖:(客戶端和服務端通信)

Java網絡編程:TCP和UDP通信模型詳解及基於代碼實戰的通信編程

(2)TCP編程的核心類(ServerSocket和Socket):

1)ServerSocket類:

服務器應用程序通過使用java.net.ServerSocket類以獲取一個端口,並且真挺客戶端請求。常用方法如下圖:

Java網絡編程:TCP和UDP通信模型詳解及基於代碼實戰的通信編程

2)Socket類:

java.net.Socket類代表客戶端和服務器用來互相通信的套接字。常用的方法如下圖:

Java網絡編程:TCP和UDP通信模型詳解及基於代碼實戰的通信編程

(3)TCP網絡編程模型如圖:

Java網絡編程:TCP和UDP通信模型詳解及基於代碼實戰的通信編程

(4)TCP編程實例:

服務端代碼:

Java網絡編程:TCP和UDP通信模型詳解及基於代碼實戰的通信編程

客戶端代碼:

Java網絡編程:TCP和UDP通信模型詳解及基於代碼實戰的通信編程

3. UDP通信模型和編程

(1)UDP通信模型如圖:(客戶端和服務端通信)

Java網絡編程:TCP和UDP通信模型詳解及基於代碼實戰的通信編程

(2)UDP編程的核心類(DatagramSocket和DatagramPacket):

1)DatagramSocket類:

此類表示用來發送和接收數據報包的套接字。常用方法如下圖:

Java網絡編程:TCP和UDP通信模型詳解及基於代碼實戰的通信編程

2)DatagramPacket類:

此類表示數據報包。常用方法如下圖:

Java網絡編程:TCP和UDP通信模型詳解及基於代碼實戰的通信編程

(3)UDP網絡編程模型如圖:

Java網絡編程:TCP和UDP通信模型詳解及基於代碼實戰的通信編程

(4)UDP編程實例:

服務端代碼:

Java網絡編程:TCP和UDP通信模型詳解及基於代碼實戰的通信編程

客戶端代碼:

Java網絡編程:TCP和UDP通信模型詳解及基於代碼實戰的通信編程

此頭條號每天都會分享非常實用的技術文章和筆試題講解,歡迎大家關注此頭條號!

相關推薦

推薦中...