udp是無連線協議,客戶端和伺服器通訊之前不需要建立握手連線;
udp沒有應答機制,所以也沒有重發機制,很大的可能會造成丟包、收到重複包、亂序的情況;
udp可以實現區域網廣播功能,即某個主機可以向所有在同個子網的主機傳送資料,tcp不能廣播,只能單播;
tcp是有連線協議,客戶端傳送資料給伺服器之前需要三次握手;
tcp是有重發機制,當資料從a端傳到b端後,b端會傳送乙個確認包(ack包)給a端,告知a端資料我已收到!有重傳機制,a端沒有收到確認包會重新傳送;
對於實時性要求比較高的時候,肯定是udp,因為實時性中傳輸大量的資料,丟一些包不妨礙實時性;
如果是網路非常好的情況,並且要資料完整的只能說優先考慮tcp,udp也是可以做到的,但是就比較麻煩需要去做拆包分包的幀的驗證和判斷,但是做好了絕對比tcp好,這是在公司人力資源允許的情況下;
因此綜上所述:外網的傳輸優先考慮udp,實時性高的只能用udp,tcp開發相對簡單,為了開發效率可以考慮;
如果是區域網的傳輸,想都別想就用tcp,無論是實時的還是大檔案的都用tcp,因為區域網的網速是不用質疑的;
TCP和UDP的對比總結
tcp udp都是是傳輸層協議,但是兩者具有不同的特性,同時也具有不同的應用場景,面向報文的傳輸方式是應用層交給udp多長的報文,udp就照樣傳送,即一次傳送乙個報文。因此,應用程式必須選擇合適大小的報文。若報文太長,則ip層需要分片,降低效率。若太短,會是ip太小。面向位元組流的話,雖然應用程式和...
TCP和UDP對比總結
傳輸層提供的功能如下 傳輸層提供了兩個傳輸協議 tcp tcp 提供面向連線的服務,在傳送資料之前必須要建立連線,並在核心中為該連線維持一些必要的資料結構,比如連線的狀態 讀寫緩衝區以及諸多定時器等。待資料傳送結束後要釋放連線。由於 tcp 提供可靠的傳輸服務,因此不可避免地增加了許多開銷,如序號 ...
TCP與UDP的介紹和對比
網路通訊協議是一種網路通用語言,為連線不同作業系統和不同硬體體系結構的網際網路絡提供通訊支援,是一種網路通用語言。tcp和udp tcp 傳輸控制協議,tcp協議是面向連線的通訊協議,即傳輸資料之前,在傳送端和接收端建立邏輯連線,然後再傳輸資料,它提供了兩台計算機之間可靠無差錯的資料傳輸。在tcp連...