TCP與UDP區別總結

2021-09-09 02:43:21 字數 1585 閱讀 2700

tcp: 

tcp程式設計的伺服器端一般步驟是: 

1、建立乙個socket,用函式socket(); 

2、設定socket屬性,用函式setsockopt(); * 可選 

3、繫結ip位址、埠等資訊到socket上,用函式bind(); 

4、開啟監聽,用函式listen(); 

5、接收客戶端上來的連線,用函式accept(); 

6、收發資料,用函式send()和recv(),或者read()和write(); 

7、關閉網路連線; 

8、關閉監聽; 

tcp程式設計的客戶端一般步驟是: 

1、建立乙個socket,用函式socket(); 

2、設定socket屬性,用函式setsockopt();* 可選 

3、繫結ip位址、埠等資訊到socket上,用函式bind();* 可選 

4、設定要連線的對方的ip位址和埠等屬性; 

5、連線伺服器,用函式connect(); 

6、收發資料,用函式send()和recv(),或者read()和write(); 

7、關閉網路連線;

udp:

與之對應的udp程式設計步驟要簡單許多,分別如下: 

udp程式設計的伺服器端一般步驟是: 

1、建立乙個socket,用函式socket(); 

2、設定socket屬性,用函式setsockopt();* 可選 

3、繫結ip位址、埠等資訊到socket上,用函式bind(); 

4、迴圈接收資料,用函式recvfrom(); 

5、關閉網路連線; 

udp程式設計的客戶端一般步驟是: 

1、建立乙個socket,用函式socket(); 

2、設定socket屬性,用函式setsockopt();* 可選 

3、繫結ip位址、埠等資訊到socket上,用函式bind();* 可選 

4、設定對方的ip位址和埠等屬性; 

5、傳送資料,用函式sendto(); 

6、關閉網路連線;

tcp和udp是osi模型中的運輸層中的協議。tcp提供可靠的通訊傳輸,而udp則常被用於讓廣播和細節控制交給應用的通訊傳輸。

udp補充:

udp不提供複雜的控制機制,利用ip提供面向無連線的通訊服務。並且它是將應用程式發來的資料在收到的那一刻,立刻按照原樣傳送到網路上的一種機制。即使是出現網路擁堵的情況下,udp也無法進行流量控制等避免網路擁塞的行為。此外,傳輸途中如果出現了丟包,udo也不負責重發。甚至當出現包的到達順序亂掉時也沒有糾正的功能。如果需要這些細節控制,那麼不得不交給由採用udo的應用程式去處理。換句話說,udp將部分控制轉移到應用程式去處理,自己卻只提供作為傳輸層協議的最基本功能。udp有點類似於使用者說什麼聽什麼的機制,但是需要使用者充分考慮好上層協議型別並製作相應的應用程式。

tcp補充:

tcp充分實現了資料傳輸時各種控制功能,可以進行丟包的重發控制,還可以對次序亂掉的分包進行順序控制。而這些在udp中都沒有。此外,tcp作為一種面向有連線的協議,只有在確認通訊對端存在時才會傳送資料,從而可以控制通訊流量的浪費。tcp通過檢驗和、序列號、確認應答、重發控制、連線管理以及視窗控制等機制實現可靠性傳輸。

TCP與UDP區別總結

udp與tcp都是運輸層的兩個協議,udp user datagram protocol 使用者資料報議,tcp transmission control protocol 傳輸控制協議。tcp傳送的資料單位協議是tcp報文段 segment udp傳送的資料單位協議是udp報文或使用者資料報。ud...

TCP與UDP區別總結

udp與tcp都是運輸層的兩個協議,udp user datagram protocol 使用者資料報議,tcp transmission control protocol 傳輸控制協議。tcp傳送的資料單位協議是tcp報文段 segment udp傳送的資料單位協議是udp報文或使用者資料報。ud...

TCP與UDP區別總結

udp與tcp都是運輸層的兩個協議,udp user datagram protocol 使用者資料報議,tcp transmission control protocol 傳輸控制協議。tcp傳送的資料單位協議是tcp報文段 segment udp傳送的資料單位協議是udp報文或使用者資料報。ud...