1. 程式人生 > >java網路程式設計:11、基於UDP的socket程式設計(一)理論、基本步驟

java網路程式設計:11、基於UDP的socket程式設計(一)理論、基本步驟

宣告:本教程不收取任何費用,歡迎轉載,尊重作者勞動成果,不得用於商業用途,侵權必究!!!

文章目錄

一、基於UDP的socket程式設計

二、基本步驟

三、系列文章(java網路程式設計)


一、基於UDP的socket程式設計

對於基於UDP通訊來說,通訊雙方不需要建立連線,也就不需要有一方去等待連線。所以說它們對於伺服器和客戶端的這種概念不是很明顯。

對於基於UDP通訊的雙方,有一方是需要先啟動的,如果有一方在傳送資料的時候,接收方沒有啟動,那麼資料就會存在沒有接受者而丟失,我們可以把接收者作為伺服器傳送者作為客戶端

那麼和基於TCP的通訊比較的話,我們會發現作為伺服器的一方,總是先啟動的一方,在java中編寫基於UDP通訊的程式是非常簡單的。

我們首先建立資料報套接字DatagramSocket,基於UDP的套接字我們可以稱為資料報套接字,當你構造資料報套接字之後,我們可以利用DatagramSocket類中的這兩個方法:一個是receive方法去接收一個數據包,一個是send方法去傳送一個數據包。

具體如下圖:

 

二、基本步驟

接收端程式的基本步驟:

①呼叫DatagramSocket(int port)建立一個數據報套接字,並繫結到指定埠上;②呼叫DatagramPacket(byte[]buf,int length),建立一個位元組陣列以接收UDP包。③呼叫DatagramSocket類的receive(),接收UDP包。④最後關閉資料報套接字。

傳送端程式的基本步驟:

①呼叫DatagramSocket()建立一個數據報套接字;②呼叫DatagramPacket(byte[]buf,int offset,int length,InetAddress address,int port),建立要傳送的UDP包。③呼叫DatagramSocket類的send(),傳送UDP包。④最後關閉資料報套接字。

 

三、系列文章(java網路程式設計)

 java網路程式設計:1、計算機網路?網路通訊的組成?什麼是ip、協議、埠號?

 java網路程式設計:2、IP地址、協議、網路狀況、網路異質性問題的解決

 java網路程式設計:3、ISO/OSI七層參考模型

 java網路程式設計:4、OSI各層所使用的協議

 java網路程式設計:5、資料封裝

 java網路程式設計:6、TCP/IP模型、TCP/IP模型與OSI參考模型的對應關係

 java網路程式設計:7、埠、套接字(socket)的引入

 java網路程式設計:8、基於TCP的socket程式設計(一)簡單的socket通訊_一個客戶端

 java網路程式設計:9、基於TCP的socket程式設計(二)伺服器端迴圈監聽接收多個客戶端_多執行緒伺服器程式

 java網路程式設計:10、基於TCP的socket程式設計(三)緩衝流、flush方法、關閉流

 java網路程式設計:11、基於UDP的socket程式設計(一)理論、基本步驟

 java網路程式設計:12、基於UDP的socket程式設計(二)程式碼通訊-簡單例項

 java網路程式設計:13、基於UDP的socket程式設計(三)實現相互發送接收訊息