日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

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

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

?

兩類傳輸協(xié)議:TCP,UDP

?

TCP

  TCP是Transfer Control Protocol(傳輸控制協(xié)議)的簡稱,是一種面向連接的保證可靠傳輸?shù)膮f(xié)議。

  在TCP/IP協(xié)議中,

  IP層主要負(fù)責(zé)網(wǎng)絡(luò)主機(jī)的定位,數(shù)據(jù)傳輸?shù)穆酚?#xff0c;由IP地址可以唯一確定Internet上的一臺主機(jī)

  而TCP層則提供面向應(yīng)用的可靠的或非可靠的數(shù)據(jù)傳輸機(jī)制,這是網(wǎng)絡(luò)編程的主要對象,一般不需要關(guān)心IP層是如何處理數(shù)據(jù)的。

  通過TCP協(xié)議傳輸,得到的是一個順序的無差錯的數(shù)據(jù)流。

  發(fā)送方和接收方的成對的兩個socket之間必須建立連接,以便在TCP協(xié)議的基礎(chǔ)上進(jìn)行通信。

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

  TCP是一個基于連接的協(xié)議,它能夠提供兩臺計算機(jī)之間的可靠的數(shù)據(jù)流。

  HTTP、FTP、Telnet等應(yīng)用都需要這種可靠的通信通道。

?

UDP

  UDP是User Datagram Protocol的簡稱,是一種無連接的協(xié)議。

  UDP是從一臺計算機(jī)向另一臺計算機(jī)發(fā)送稱為數(shù)據(jù)報的獨(dú)立數(shù)據(jù)包的協(xié)議,該協(xié)議并不保證數(shù)據(jù)報是否能正確地到達(dá)目的地,它是一個非面向連接的協(xié)議。

  每個數(shù)據(jù)報都是一個獨(dú)立的信息,包括完整的源地址或目的地址,它在網(wǎng)絡(luò)上以任何可能的路徑傳往目的地,因此能否到達(dá)目的地,到達(dá)時間以及內(nèi)容的正確性都是不能保證的。

?

TCP和UDP的比較

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

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

?

  使用UDP傳輸數(shù)據(jù)時是有大小限制的,每個被傳輸?shù)臄?shù)據(jù)報必須限定在64KB之內(nèi)。

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

?

  UDP是一個不可靠的協(xié)議,發(fā)送方所發(fā)送的數(shù)據(jù)報并不一定以相同的次序到達(dá)接收方。

  TCP是一個可靠的協(xié)議,它確保接收方完全正確地獲取發(fā)送方所發(fā)送的全部數(shù)據(jù)。

  可靠的傳輸是要付出代價的,對數(shù)據(jù)內(nèi)容正確性的檢驗(yàn)必然占用計算機(jī)的處理時間和網(wǎng)絡(luò)的帶寬。因此TCP傳輸?shù)男什蝗鏤DP高。

?

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

  相比之下UDP操作簡單,而且僅需要較少的監(jiān)護(hù),因此通常用于局域網(wǎng)高可靠性的分散系統(tǒng)中client/server應(yīng)用程序。

  

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

?

TCP/IP模型

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

  應(yīng)用層

  傳輸層

  網(wǎng)絡(luò)層

  網(wǎng)絡(luò)接口

  TCP/IP與OSI參考模型的對應(yīng)關(guān)系:

  

?

JDK中的網(wǎng)絡(luò)類

  通過java.net包中的類,java程序能夠使用TCP或UDP協(xié)議在互聯(lián)網(wǎng)上進(jìn)行通訊。

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

  Java支持TCP和UDP協(xié)議族。

  TCP用于網(wǎng)絡(luò)的可靠的流式輸入/輸出。

  UDP支持更簡單的、快速的、點(diǎn)對點(diǎn)的數(shù)據(jù)報模式。

?

參考資料

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

轉(zhuǎn)載于:https://www.cnblogs.com/mengdd/archive/2013/03/09/2951841.html

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。