更新時間:2022-07-07 來源:黑馬程序員 瀏覽量:
UDP是無連接通信協議,即在數據傳輸時,數據的發送端和接收端不建立邏輯連接。簡單來說,當一臺計算機向另外一臺計算機發送數據時,發送端不會確認接收端是否存在,就會發出數據,同樣接收端在收到數據以后,也不會向發送端反饋是否收到數據。
由于使用UDP消耗資源小,通信效率高,所以通常會用于音頻、視頻和普通數據的傳輸,例如視頻會議使用UDP,因為這種情況即使偶爾丟失一兩個數據包,也不會對接收結果產生太大影響。但是在使用UDP傳送數據時,由于UDP的面向無連接性,不能保證數據的完整性,因此在傳輸重要數據時不建議使用UDP。
TCP是面向連接的通信協議,即在傳輸數據前先在發送端和接收端建立邏輯鏈接,然后再傳輸數據,它提供了兩臺計算機之間可靠無差錯的數據傳輸。在TCP連接中心必須要明確客戶端與服務器端,由客戶端向服務器端發出連接請求,每次連接的創建都需要經過“三次握手”。第一次握手,客戶端向服務器端發出連接請求,等待服務器確認;第二次握手,服務器端向客戶端回送一個響應,通知客戶端收到了連接請求;第三次握手,客戶端再次向服務器端發送確認信息,確認連接。TCP連接的整個交互過程如圖9-5所示。
由于TCP的面向連接特性,它可以保證傳輸數據的安全性,是一個被廣泛采用的協議。例如,在下載文件的時候,如果數據接收不完整,將會導致文件數據丟失而不能打開,因此,下載文件時必須采用TCP。
圖9-5 TCP連接的整個交互過程