Python開發中TCP和UDP區別是什麼?Python入門教程
TCP和UDP同屬於協議,在學習Python的時候都會涉及到這方面的知識,那麼TCP和UDP區別是什麼呢?我們來看看它們的優缺點吧。
什麼是UDP?
UDP是面向無連線的通訊協議,UDP資料包含目的埠號和源埠號資訊。主要優點速度快、操作簡單、要求系統資源較少,由於通訊不需要連線,可以實現廣播傳送;缺點是傳輸資料前並不與對方建立連線,對接收到的資料也不傳送確認訊號,傳送端不知道資料是否會正確接收,也不重複傳送,不可靠。
什麼是TCP?
是面向連線的通訊協議,透過三次握手建立連線,通訊完成時四次握手,主要優點是TCP在資料傳輸時,有確認、視窗、重傳、阻塞等控制機制,能保證資料正確性,較為可靠;缺點是相對於UDP速度慢,要求系統資源較多。
TCP和UDP區別是什麼?
TCP是面向連線的協議,而UDP是無連線的協議,意味著當一個客戶端和一個服務端透過TCP傳送資料前,必須先建立連線,建立連線的過程被稱為TCP三次握手;
TCP提供交付保證,意味著一個使用TCP協議傳送的資訊是保證交付給客戶端的,如果訊息在傳輸過程中丟失,將重發;UDP是不可靠的,不提供任何交付的保證,一個資料包包在運輸過程中可能會丟失;
訊息到達網路的另一端時可能是無序的,TCP協議將會為你排序,UDP不提供任何有序性的保證;
TCP速度比較慢,而UDP速度比較快,因為TCP必須建立連線,以保證訊息的可靠交付和有序性,需要做比UDP多的事;
TCP是重量級的協議,UDP協議則是輕量級的協議。一個TCP資料包的報頭大小最少是20個位元組,UDP資料包的報頭固定是8個位元組。TCP報頭中包含序列號,ACK號,資料偏移量,保留,控制位,視窗,緊急指標,可選項,填充項,校驗位,源埠和目的埠。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2791815/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Python入門教程】SQL和Python有什麼區別?PythonSQL
- Python中for迴圈和while迴圈有什麼區別?Python入門教程PythonWhile
- Python中tuple和list有什麼區別?Python入門!Python
- opencv和Python的區別是什麼?Python開發!OpenCVPython
- Python中異常與錯誤有什麼區別?Python入門教程Python
- Python IDE和直譯器有什麼區別?Python入門教程PythonIDE
- MQTT是TCP還是UDP?TCP與UDP區別MQQTTCPUDP
- php中TCP和UDP的區別PHPTCPUDP
- python is和==的區別是什麼?Python
- python 中的UDP和TCP(1)PythonUDPTCP
- Python IDLE和Python的區別!Python入門教程Python
- Java和Python是什麼?有什麼區別?JavaPython
- tcp和udp的區別TCPUDP
- python中類方法的區別是什麼Python
- Python入門:Python 2與Python3有什麼區別?Python
- Python開發的入門教程(二)-List和Tuple型別Python型別
- Python教程之udp和tcp協議介紹PythonUDPTCP協議
- Python和C語言區別是什麼?PythonC語言
- pycharm和python區別(關係)是什麼PyCharmPython
- 【Linux學習教程】Linux中tcp與tcp6區別是什麼?LinuxTCP
- Python學習教程_Python語言中=和==有什麼區別?Python
- 什麼是Python直譯器?和Python IDE有什麼區別?PythonIDE
- Python列表、元組、集合、字典的區別是什麼?入門知識!Python
- Python開發中字典和json有什麼區別?PythonJSON
- python和c語言的區別是什麼PythonC語言
- python屬性和方法的區別是什麼Python
- Python 列表和元組的區別是什麼?Python
- 學Python開發之前要注意什麼?Python入門Python
- Python 關於TCP簡介以及與UDP的區別PythonTCPUDP
- cython和python分別是什麼?區別有哪些?Python
- 什麼是python?與PHP有什麼區別?PythonPHP
- Python中/與//的區別是什麼?其如何使用?Python
- Python和Go是什麼?它們之間有什麼區別?PythonGo
- python中錯誤和異常有什麼區別Python
- anaconda和pycharm區別是什麼?Python學習!PyCharmPython
- Python和GO語言之間的區別是什麼?PythonGo
- python UDP程式設計是什麼意思?PythonUDP程式設計
- 入門級(共享)是什麼意思?和通用型的什麼區別