tcp udp
tcp與udp基本區別
1.基於連線與無連線
2.tcp要求系統資源較多,udp較少;
3.udp程式結構較簡單
4.流模式(tcp)與資料報模式(udp);
5.tcp保證資料正確性,udp可能丟包
6.tcp保證資料順序,udp不保證
udp應用場景:
1.面向資料報方式
2.網路資料大多為短訊息
3.擁有大量client
4.對資料安全性無特殊要求
5.網路負擔非常重,但對響應速度要求高
具體程式設計時的區別
1.socket()的引數不同
2.udp server不需要呼叫listen和accept
3.udp收發資料用sendto/recvfrom函式
4.tcp:位址資訊在connect/accept時確定
5.udp:在sendto/recvfrom函式中每次均 需指定位址資訊
6.udp:shutdown函式無效
基於上述不同,udp和tcp程式設計步驟也有些不同,如下:
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基本區別
原文 tcp 傳輸控制協議 udp 使用者資料報協議 1.tcp基於連線與udp基於無連線 2.tcp要求系統資源較多,udp較少 3.udp程式結構較簡單 4.流模式 tcp 與資料報模式 udp 5.tcp保證資料正確性,udp可能丟包 6.tcp保證資料順序,udp不保證 1.面向資料報方式 ...
網路通訊UTP與TCP最基本區別
utp 使用者資料報協議,是乙個簡單的面向資料報的運輸層協議。特點 1 面向無連線 udp在傳輸資料報前不用在客戶端和服務端之間建議連線 2 每個資料報大小限制在64k內 utp傳送資料是將資料分解成多個包進行傳送 3 utp不提供可靠性 因為是面向無連線 4 傳輸速度快 因為不需要建立連線 5 簡...
TCP與UDP區別總結
udp與tcp都是運輸層的兩個協議,udp user datagram protocol 使用者資料報議,tcp transmission control protocol 傳輸控制協議。tcp傳送的資料單位協議是tcp報文段 segment udp傳送的資料單位協議是udp報文或使用者資料報。ud...