瞭解UDP套接字

TCP 是面向銜接的傳輸協定,樹立銜接時要經由三次握手,斷開銜接時要經由四次握手,兩頭傳輸數據時也要答覆ACK包確認,多種機制包管了數據可以準確抵達,不會喪失或失足。
UDP 長短銜接的傳輸協定,沒有樹立銜接和斷開銜接的進程,它只是複雜地把數據丟到收集中,也不需求ACK包確認。
UDP 傳輸數據就彷彿我們郵寄包裹,郵寄前需求填好寄件人和收件人地址,之後送到快遞公司即可,但包裹能否準確送達、能否破壞我們無法得知,也無法包管。UDP 協定也是如斯,它儘管把數據包發送到收集,然後就不論了,假如數據喪失或破壞,發送端是無法曉得的,當然也不會重發。
既然如斯,TCP應當是愈加優質的傳輸協定吧?
假如只思索牢靠性,TCP確實比UDP好。但UDP在構造上比TCP愈加簡練,不會發送ACK的應對音訊,也不會給數據包分派Seq序號,所以UDP的傳輸效力有時會比TCP凌駕許多,編程中完成UDP也比TCP複雜。
UDP 的牢靠性固然比不上TCP,但也不會像想象中那麼頻仍地發作數據損毀,在愈加註重傳輸效力而非牢靠性的狀況下,UDP是一種很好的選擇。比方視頻通訊或音頻通訊,就十分合適採取UDP協定;通訊時數據必需高效傳輸纔不會發生“卡頓”景象,用戶體驗才愈加流利,假如喪失幾個數據包,視頻畫面能夠會呈現“雪花”,音頻能夠會夾帶一些雜音,這些多是不妨的。
與UDP比擬,TCP的生命在於流掌握,這包管了數據傳輸的準確性。
最初需求闡明的是:TCP的速度無法逾越UDP,但在收發某些類型的數據時有能夠接近UDP。例如,每次交流的數據量越大,TCP 的傳輸速度就越接近於 UDP。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章