TCP與UDP的區(qū)別

TCP(Transmission Control Protocol?傳輸控制協(xié)議)是一種面向連接的哨毁、可靠的汪茧、基于字節(jié)流的傳輸層通信協(xié)議椅亚,由IETF的RFC 793定義。

UDP(User Datagram Protocol)協(xié)議直接位于IP(網(wǎng)際協(xié)議)協(xié)議的頂層舱污。根據(jù)OSI(開放系統(tǒng)互連)參考模型呀舔,UDP和TCP都屬于傳輸層協(xié)議。UDP協(xié)議的主要作用是將網(wǎng)絡(luò)數(shù)據(jù)流量壓縮成數(shù)據(jù)包的形式扩灯。

TCP與UDP區(qū)別總結(jié):

1别威、TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接

2驴剔、TCP提供可靠的服務。也就是說粥庄,通過TCP連接傳送的數(shù)據(jù)丧失,無差錯,不丟失惜互,不重復布讹,且按序達;UDP 盡最大努力交 付琳拭,即不保證可靠交付Tcp通過校驗和,重傳控制描验,序號標識白嘁,滑動窗口、確認應 答實現(xiàn)可靠傳輸膘流。如丟包時的重發(fā)控制絮缅,還可以對次序亂掉的分包進行順序控制。

3呼股、UDP具有較好的實時性耕魄,工作效率比TCP高,適用于對高速傳輸和實時性有較高的通信或廣播通信彭谁。

4吸奴、每一條TCP連接只能是點到點的;UDP支持一對一,一對多缠局,多對一和多對多的交互通信

5则奥、TCP對系統(tǒng)資源要求較多,UDP對系統(tǒng)資源要求較少狭园。

為什么UDP有時比TCP更有優(yōu)勢?

UDP以其簡單读处、傳輸快的優(yōu)勢,在越來越多場景下取代了TCP,如實時游戲妙啃。

(1)網(wǎng)速的提升給UDP的穩(wěn)定性提供可靠網(wǎng)絡(luò)保障档泽,丟包率很低,如果使用應用層重傳揖赴,能夠確保傳輸?shù)目煽啃浴?/p>

(2)TCP為了實現(xiàn)網(wǎng)絡(luò)通信的可靠性馆匿,使用了復雜的擁塞控制算法,建立了繁瑣的握手過程燥滑,由于TCP內(nèi)置的系統(tǒng)協(xié)議棧中渐北,極難對其進行改進。

采用TCP铭拧,一旦發(fā)生丟包赃蛛,TCP會將后續(xù)的包緩存起來,等前面的包重傳并接收到后再繼續(xù)發(fā)送搀菩,延時會越來越大呕臂,基于UDP對實時性要求較為嚴格的情況下,采用自定義重傳機制肪跋,能夠把丟包產(chǎn)生的延遲降到最低歧蒋,盡量減少網(wǎng)絡(luò)問題對游戲性造成影響。

基于上述不同,UDP和TCP編程步驟也有些不同谜洽,如下:

TCP:

TCP編程的服務器端一般步驟是:

1萝映、創(chuàng)建一個socket,用函數(shù)socket()阐虚;

2序臂、設(shè)置socket屬性,用函數(shù)setsockopt(); * 可選

3实束、綁定IP地址奥秆、端口等信息到socket上,用函數(shù)bind();

4磕洪、開啟監(jiān)聽吭练,用函數(shù)listen();

5析显、接收客戶端上來的連接鲫咽,用函數(shù)accept();

6谷异、收發(fā)數(shù)據(jù)分尸,用函數(shù)send()和recv(),或者read()和write();

7歹嘹、關(guān)閉網(wǎng)絡(luò)連接箩绍;

8、關(guān)閉監(jiān)聽尺上;?

TCP編程的客戶端一般步驟是:

1材蛛、創(chuàng)建一個socket,用函數(shù)socket()怎抛;

2卑吭、設(shè)置socket屬性,用函數(shù)setsockopt();* 可選

3马绝、綁定IP地址豆赏、端口等信息到socket上,用函數(shù)bind();* 可選

4富稻、設(shè)置要連接的對方的IP地址和端口等屬性掷邦;

5、連接服務器椭赋,用函數(shù)connect()抚岗;

6、收發(fā)數(shù)據(jù)哪怔,用函數(shù)send()和recv()宣蔚,或者read()和write();

7廷痘、關(guān)閉網(wǎng)絡(luò)連接;

UDP:

與之對應的UDP編程步驟要簡單許多件已,分別如下:

UDP編程的服務器端一般步驟是:

1个绍、創(chuàng)建一個socket破婆,用函數(shù)socket();

2曹阔、設(shè)置socket屬性茉盏,用函數(shù)setsockopt();* 可選

3鉴未、綁定IP地址、端口等信息到socket上鸠姨,用函數(shù)bind();

4铜秆、循環(huán)接收數(shù)據(jù),用函數(shù)recvfrom();

5讶迁、關(guān)閉網(wǎng)絡(luò)連接连茧;

?UDP編程的客戶端一般步驟是:

1、創(chuàng)建一個socket巍糯,用函數(shù)socket()啸驯;

2、設(shè)置socket屬性祟峦,用函數(shù)setsockopt();* 可選

3罚斗、綁定IP地址、端口等信息到socket上宅楞,用函數(shù)bind();* 可選

4针姿、設(shè)置對方的IP地址和端口等屬性;

5、發(fā)送數(shù)據(jù)厌衙,用函數(shù)sendto();

6距淫、關(guān)閉網(wǎng)絡(luò)連接;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末迅箩,一起剝皮案震驚了整個濱河市溉愁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌饲趋,老刑警劉巖拐揭,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異奕塑,居然都是意外死亡堂污,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門龄砰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盟猖,“玉大人讨衣,你說我怎么就攤上這事∈礁洌” “怎么了反镇?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長娘汞。 經(jīng)常有香客問我歹茶,道長,這世上最難降的妖魔是什么你弦? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任惊豺,我火速辦了婚禮,結(jié)果婚禮上禽作,老公的妹妹穿的比我還像新娘尸昧。我一直安慰自己,他們只是感情好旷偿,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布烹俗。 她就那樣靜靜地躺著,像睡著了一般狸捅。 火紅的嫁衣襯著肌膚如雪衷蜓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天尘喝,我揣著相機與錄音磁浇,去河邊找鬼。 笑死朽褪,一個胖子當著我的面吹牛置吓,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播缔赠,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼衍锚,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了嗤堰?” 一聲冷哼從身側(cè)響起戴质,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎踢匣,沒想到半個月后告匠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡离唬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年后专,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片输莺。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡戚哎,死狀恐怖裸诽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情型凳,我是刑警寧澤丈冬,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站甘畅,受9級特大地震影響殷蛇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜橄浓,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望亮航。 院中可真熱鬧荸实,春花似錦、人聲如沸缴淋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽重抖。三九已至露氮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間钟沛,已是汗流浹背畔规。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留恨统,地道東北人叁扫。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像畜埋,于是被迫代替她去往敵國和親莫绣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容

  • TCP/IP運輸層的兩個主要協(xié)議分別是TCP(傳輸控制協(xié)議)與UDP(用戶數(shù)據(jù)報協(xié)議)。傳送的數(shù)據(jù)單位分別叫“TC...
    曲諧_閱讀 1,863評論 0 14
  • TCP(Transmission Control Protocol,傳輸控制協(xié)議)是面向連接的協(xié)議心肪,也就是說锭亏,在收...
    梁小中閱讀 440評論 0 1
  • 1.1 TCP/IP協(xié)議組 TCP/IP協(xié)議(傳輸控制協(xié)議)由網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP協(xié)議組成 IP層負責...
    F麥子閱讀 2,781評論 0 25
  • 1.這篇文章不是本人原創(chuàng)的糖儡,只是個人為了對這部分知識做一個整理和系統(tǒng)的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,037評論 6 174
  • 何為君子怔匣? 何為小人握联? 彩虹色的面孔下 藏著一顆芝麻心 逃不掉世界的殘酷冷漠 仍期待世界的美好冒險
    黃土高坡上的風姑娘閱讀 322評論 0 0