UDP 和 TCP 的 socket 分別一般用在什麼地方?

時間 2021-05-06 09:50:24

1樓:硬體工程師

大家說的很全面了,我將乙個必須用UDP的例子。

在某些情況下,使用UDP是因為它允許廣播資料報。在像DHCP協議這樣的情況下,因為客戶機還沒有收到IP位址(這是DHCP協商協議的目的),沒有IP位址本身就無法建立TCP連線。

In certain situationsUDPis used because it allows broadcast packet transmission. This is sometimes fundamental in cases likeDHCPprotocol, because the client machine hasn't still received anIPaddress (this is theDHCPnegotiaton protocol purpose) and there won't be any way to establish aTCPstream without theIPaddress itself.

參考:Difference between TCP and UDP?

2樓:神諭螞蟻

UDP非常適合那種:丟點資料也沒事、盡量少佔網路資源之類的情景。

比如我要做乙個實時的資料採集系統,每秒都要採集幾百個伺服器的效能資料,然後把這些資料扔給監控台繪製效能曲線。

因為這些資料哪怕採集來,基本上也是會做平均值處理,或者差值處理,所以中間丟點資料,並不影響最終結果。這時就可以走UDP協議。

3樓:

TCP用於對可靠性要求高於及時性的場合

UDP適用於對及時性要求高於可靠性的場合,支援一對多(Mulitcast)模式,能大大節省網路頻寬,減輕資料來源端的壓力。

4樓:朱雀

關於TCP和UDP的區別和概念上面都有人寫過了。我這裡寫乙個UDP的應用。

在多人網路遊戲中,人物的移動可以用UDP來發。因為人物一直處於移動當中,會頻繁發出位置資訊的包。由於發的比較頻繁,而且後面的位置資訊會覆蓋掉前面的位置資訊,所以丟不丟包不重要。

就可以用UDP來發。每個UDP包的資料裡面加個時間戳,那麼進來的包你判斷下時間,如果是已經過期的包,就可以直接丟掉。這樣,即使udp包過來的順序不一樣都無所謂了。

5樓:張觀石

打個比方:

TCP就像是兩個人傳遞球

A:我要傳球給你了哦,你準備好了嗎?

B:準備好了!

A:開始傳一號球

B:收到!

A:二號球

B:收到

....

A:傳完了

B:我也接完了

A:88

B:88

UDP,你閉著眼往乙個框裡扔球

1號球2號球

3號球即使2號沒進去,也不管了,繼續扔

4號球....

不知樓主問的是tcp、udp,還是主要問socketTCP不用說,最常見

在網際網路技術中,UDP常用在快取讀取,儲存;用在監控或終端上報;

常用dns服務,SNMP協議都是UDP協議的如果是問socket的話,這麼講吧:

socket檔案為同一臺伺服器間的不同程序提供了一種網路通訊的方式,通過檔案就可以,而不需要通過物理網絡卡。

核心裡sock和socket還是不一樣的兩個東西問題太含糊,只能講這麼多了

6樓:Yorkie

TCP和UDP都屬於分組交換技術,而TCP使用的是面向連線的分組交換,而UDP是用無連線分組交換,就是說前者面向連線,要進行資料通訊前先建立連線,之後的通訊大部分依賴於這個連線,在Message中IP和Port事不必要的。而UDP只提供終點和起點,所以每乙個資料報的路徑都不相同。

7樓:

Socket,指的是TCP/IP模型中,傳輸層UDP和TCP兩個協議使用的位址。這個位址的格式為[傳送端IP位址,傳送端埠號:接收端IP位址,接收端埠號]。

所以Socket用於傳輸層的定址,你在編寫網路程式的時候就需要用到。

8樓:林仔

udp處理資料報,tcp處理網路流。

讀udp socket 一次返回乙個報文

讀TCP socket不一定能讀到乙個完整的報文udp不保證報文到達的先後順序,不保證是否有報文丟失tcp保證寫入流的資料按順序被讀出來

tcp可靠性高,效率低

udp效率高,可靠性低

Socket 和 TCP 有什麼聯絡?建立Socket,作業系統主要是做了哪些事?

the gc socket是tcp實現對上層提供的介面。使用socket的配套函式,就是封裝各種tcp ip資料報。比如你對乙個socket fd 進行write,connect,作業系統就是幫你傳送各種tcp報文出去。然後作業系統也會解析收到的tcp報文,你調read的時候就可以讀取tcp資料報裡...

網路遊戲 採用的是tcp協議還是udp協議?

huabo lee 網路遊戲這個說的太籠統了,不同遊戲的實時性要求完全不一樣的,TCP,UDP本質上差別在於TCP協議上實現的可靠性,UDP則沒有,UDP協議就相對簡單,TCP會複雜,也是就TCP協議開銷本身比較大,對於實時遊戲來說,是不合適的,實時遊戲傳遞的資料量非常小,而又對實時響應要求很高。自...

TCP短連線和長連線的區別

公尺夏 畢業酒喝多了,班長站在桌上高喊 20年後,我們要做到秒薪一塊錢!某同學2015年成立某單車,占股14.63 目前估值300億,個人身價43億。已完成任務。用時13年。 Tball 剛畢業的時候,其實不是很懂自己要做什麼,想考乙個教師編制,第一年沒考上,後來也在為這個做準備,心裡卻明白自己還是...