這篇文章主要介紹“Python開發(fā)TCP和UDP的區(qū)別是什么”,在日常操作中,相信很多人在Python開發(fā)TCP和UDP的區(qū)別是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python開發(fā)TCP和UDP的區(qū)別是什么”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
UDP 概念:
UDP 是面向無連接的通訊協(xié)議,UDP 數(shù)據(jù)包括目的端口號和源端口號信息。
優(yōu)點(diǎn):UDP 速度快、操作簡單、要求系統(tǒng)資源較少,由于通訊不需要連接,可以實(shí)現(xiàn)廣播發(fā)送
缺點(diǎn):UDP 傳送數(shù)據(jù)前并不與對方建立連接,對接收到的數(shù)據(jù)也不發(fā)送確認(rèn)信號,發(fā)送端不知道數(shù)據(jù)是否會正確接收,也不重復(fù)發(fā)送,不可靠。
TCP 概念:
TCP 是面向連接的通訊協(xié)議,通過三次握手建立連接,通訊完成時四次揮手
優(yōu)點(diǎn):TCP 在數(shù)據(jù)傳遞時,有確認(rèn)、窗口、重傳、阻塞等控制機(jī)制,能保證數(shù)據(jù)正確性,較為可靠。
缺點(diǎn):TCP 相對于 UDP 速度慢一點(diǎn),要求系統(tǒng)資源較多。
TCP與UDP區(qū)別:
1.、基于連接vs無連接
TCP是面向連接的協(xié)議,而UDP是無連接的協(xié)議。這意味著當(dāng)一個客戶端和一個服務(wù)器端通過TCP發(fā)送數(shù)據(jù)前,必須先建立連接,建立連接的過程也被稱為TCP三次握手。
2、 可靠性
TCP提供交付保證,這意味著一個使用TCP協(xié)議發(fā)送的消息是保證交付給客戶端的,如果消息在傳輸過程中丟失,那么它將重發(fā)。UDP是不可靠的,它不提供任何交付的保證,一個數(shù)據(jù)報包在運(yùn)輸過程中可能會丟失。
3、有序性
消息到達(dá)網(wǎng)絡(luò)的另一端時可能是無序的,TCP協(xié)議將會為你排好序。UDP不提供任何有序性的保證。
4、速度
TCP速度比較慢,而UDP速度比較快,因?yàn)門CP必須創(chuàng)建連接,以保證消息的可靠交付和有序性,他需要做比UDP多的事。這就是為什么UDP更適用于對速度比較敏感的應(yīng)用。TCP適合傳輸大量數(shù)據(jù),UDP適合傳輸少量數(shù)據(jù)。
5、重量級vs輕量級
TCP是重量級的協(xié)議,UDP協(xié)議則是輕量級的協(xié)議。一個TCP數(shù)據(jù)報的報頭大小最少是20個字節(jié),UDP數(shù)據(jù)報的報頭固定是8個字節(jié)。TCP報頭中包含序列號,ACK號,數(shù)據(jù)偏移量,保留,控制位,窗口,緊急指針,可選項(xiàng),填充項(xiàng),校驗(yàn)位,源端口和目的端口。而UDP報頭只包含長度,源端口號,目的端口號,校驗(yàn)和。
6、流量控制和擁塞控制
TCP有流量控制和擁塞控制。UDP沒有流量控制和擁塞控制。
7、TCP是面向字節(jié)流,UDP是面向報文的
TCP是字節(jié)流的協(xié)議,無邊界記錄。
UDP發(fā)送的每個數(shù)據(jù)報是記錄型的數(shù)據(jù)報,所謂的記錄型數(shù)據(jù)報就是接收進(jìn)程可以識別接收到的數(shù)據(jù)報的記錄邊界。
8、TCP只能單播,不能廣播和組播;UDP可以廣播和組播
TCP應(yīng)用場景:效率要求相對低,但對準(zhǔn)確性要求相對高的場景。因?yàn)閭鬏斨行枰獙?shù)據(jù)確認(rèn),重發(fā),排序等操作,相比之下效率沒有UDP高。舉幾個例子:文件傳輸、郵件傳輸、遠(yuǎn)程登錄。
UDP應(yīng)用場景:效率要求相對高,對準(zhǔn)確性要求相對低的場景。舉幾個例子:QQ聊天、QQ視頻,網(wǎng)絡(luò)語音電話(即時通訊,要求速度高,但是出現(xiàn)偶爾斷續(xù)不是太大問題,并且此處完全不可以使用重傳機(jī)制)、廣播通信。
到此,關(guān)于“Python開發(fā)TCP和UDP的區(qū)別是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
網(wǎng)頁題目:Python開發(fā)TCP和UDP的區(qū)別是什么-創(chuàng)新互聯(lián)
URL分享:http://jinyejixie.com/article2/gjhoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、搜索引擎優(yōu)化、做網(wǎng)站、Google、品牌網(wǎng)站設(shè)計、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容