劇多
首頁
資訊
體育
娛樂
汽車
投資
財經
軍事
科技
數碼
科學
遊戲
歷史
健康
政治
影視
旅遊
育兒
美食
時尚
房產
農業
社會
文化
教育
技術
美文
情感
故事
家居
職場
自然
闢謠
心理
攝影
漫畫
生活
其它
Club
Tips
熱門話題
搜尋
註冊
登入
首頁
>
Club
>
2021-02-20 16:56
TCP/UDP協議的區別?
8
回覆列表
1 # 頭快上樓去
UDP 的使用範圍很窄,而且程式設計比 TCP 難多了:
你真的很在乎延遲,不能忍受重傳,那麼就用UDP,例如 NTP 協議。重傳NTP訊息純屬添亂。你真的不在乎可靠性,丟一些包也不需要重傳,那麼就可以用 UDP。例子我想不出來。有人說音訊或影片流可以用UDP,不過據我看來各大影片網站都用HTTP協議,而HTTP是基於TCP的。你需要NAT穿透,那麼不得不用UDP。其他情況,一旦程式要自己做重傳,你都是在用UDP模擬出蹩腳的TCP,還不如直接用TCP呢。總之:使用 UDP 需要有強大到不容置疑的理由,when in doubt, use TCP.一些協議,出於歷史原因,受當時技術和網路條件限制,選擇了基於UDP實現,其選擇的理由現在很可能已經不再成立了。因此“xxx協議用UDP”不是你現在寫網路應用程式也該用UDP的理由,除非你本身就是在實現xxx協議。另外,那些說TCP比UDP慢、效率低的,你拿UDP寫個程式,把千兆網頻寬打滿(TCP等價的程式碼只有兩行:客戶端 while (true) { send(...); } 服務端 while (true) { recv(...); }。),且不說你的程式會有多複雜,先看看goodput到底是不是比TCP大、CPU使用率是不是比TCP低嘛。
發表回復
∧
中秋節和大豐收的關聯?
∨
旅行中,你對哪個城市產生過莫名的好感?
熱門排行
sbs防水卷材做完多久淋水?
八達嶺長城可以和哪個景點一天遊?
如何編會計分錄收到企業開出並承兌的商業匯票?
龐巴迪摩托艇排氣溫度故障怎麼辦?
王國之淚怎麼看神廟完成情況?
什麼蚊香殺蟑螂跳蚤?
吉利豪越l尊貴版幾個顏色?
綠色積分怎麼變現?
captureone圖層怎麼用?
比亞迪e 2為什麼這麼貴?
UDP 的使用範圍很窄,而且程式設計比 TCP 難多了:
你真的很在乎延遲,不能忍受重傳,那麼就用UDP,例如 NTP 協議。重傳NTP訊息純屬添亂。你真的不在乎可靠性,丟一些包也不需要重傳,那麼就可以用 UDP。例子我想不出來。有人說音訊或影片流可以用UDP,不過據我看來各大影片網站都用HTTP協議,而HTTP是基於TCP的。你需要NAT穿透,那麼不得不用UDP。其他情況,一旦程式要自己做重傳,你都是在用UDP模擬出蹩腳的TCP,還不如直接用TCP呢。總之:使用 UDP 需要有強大到不容置疑的理由,when in doubt, use TCP.一些協議,出於歷史原因,受當時技術和網路條件限制,選擇了基於UDP實現,其選擇的理由現在很可能已經不再成立了。因此“xxx協議用UDP”不是你現在寫網路應用程式也該用UDP的理由,除非你本身就是在實現xxx協議。另外,那些說TCP比UDP慢、效率低的,你拿UDP寫個程式,把千兆網頻寬打滿(TCP等價的程式碼只有兩行:客戶端 while (true) { send(...); } 服務端 while (true) { recv(...); }。),且不說你的程式會有多複雜,先看看goodput到底是不是比TCP大、CPU使用率是不是比TCP低嘛。