日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Java 网络编程(二) 两类传输协议:TCP UDP

發布時間:2023/12/20 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 网络编程(二) 两类传输协议:TCP UDP 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

兩類傳輸協議:TCP,UDP

?

TCP

  TCP是Transfer Control Protocol(傳輸控制協議)的簡稱,是一種面向連接的保證可靠傳輸的協議

  在TCP/IP協議中,

  IP層主要負責網絡主機的定位,數據傳輸的路由,由IP地址可以唯一確定Internet上的一臺主機

  而TCP層則提供面向應用的可靠的或非可靠的數據傳輸機制,這是網絡編程的主要對象,一般不需要關心IP層是如何處理數據的。

  通過TCP協議傳輸,得到的是一個順序的無差錯的數據流。

  發送方和接收方的成對的兩個socket之間必須建立連接,以便在TCP協議的基礎上進行通信。

  當一個socket(通常都是server socket)等待建立連接時,另一個socket可以要求進行連接,一旦這兩個socket連接起來,它們就可以進行雙向數據傳輸,雙方都可以進行發送或接收操作。

  TCP是一個基于連接的協議,它能夠提供兩臺計算機之間的可靠的數據流。

  HTTP、FTP、Telnet等應用都需要這種可靠的通信通道。

?

UDP

  UDP是User Datagram Protocol的簡稱,是一種無連接的協議

  UDP是從一臺計算機向另一臺計算機發送稱為數據報的獨立數據包的協議,該協議并不保證數據報是否能正確地到達目的地,它是一個非面向連接的協議。

  每個數據報都是一個獨立的信息,包括完整的源地址或目的地址,它在網絡上以任何可能的路徑傳往目的地,因此能否到達目的地,到達時間以及內容的正確性都是不能保證的。

?

TCP和UDP的比較

  使用UDP時,每個數據報中都給出了完整的地址信息,因此無需建立發送方和接收方的連接。

  對于TCP協議,由于它是一個面向連接的協議,在socket之間進行數據傳輸之前必然要建立連接,所以在TCP中多了一個連接建立的時間。

?

  使用UDP傳輸數據時是有大小限制的,每個被傳輸的數據報必須限定在64KB之內。

  TCP沒有這方面的限制,一旦連接建立起來,雙方的socket就可以按統一的格式傳輸大量的數據。

?

  UDP是一個不可靠的協議,發送方所發送的數據報并不一定以相同的次序到達接收方。

  TCP是一個可靠的協議,它確保接收方完全正確地獲取發送方所發送的全部數據。

  可靠的傳輸是要付出代價的,對數據內容正確性的檢驗必然占用計算機的處理時間和網絡的帶寬。因此TCP傳輸的效率不如UDP高。

?

  TCP在網路通信上有極強的生命力,例如遠程連接(Telnet)和文件傳輸(FTP)都需要不定長度的數據被可靠地傳輸。

  相比之下UDP操作簡單,而且僅需要較少的監護,因此通常用于局域網高可靠性的分散系統中client/server應用程序。

  

  此處推薦書籍《TCP/IP詳解》,分三卷。

?

TCP/IP模型

  TCP/IP模型包括四個層次:

  應用層

  傳輸層

  網絡層

  網絡接口

  TCP/IP與OSI參考模型的對應關系:

  

?

JDK中的網絡類

  通過java.net包中的類,java程序能夠使用TCP或UDP協議在互聯網上進行通訊。

  Java通過擴展已有的流式輸入/輸出接口和增加在網絡上建立輸入/輸出對象特性這兩個方法支持TCP/IP。

  Java支持TCP和UDP協議族。

  TCP用于網絡的可靠的流式輸入/輸出。

  UDP支持更簡單的、快速的、點對點的數據報模式。

?

參考資料

  圣思園張龍老師Java SE系列視頻教程。

轉載于:https://www.cnblogs.com/mengdd/archive/2013/03/09/2951841.html

總結

以上是生活随笔為你收集整理的Java 网络编程(二) 两类传输协议:TCP UDP的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。