UDP和多線程服務(wù)器

UDP:

UDP是數(shù)據(jù)報文傳輸協(xié)議威兜,這個傳輸協(xié)議比較野蠻,發(fā)送端不需要理會接收端是否存在旅挤,直接就發(fā)送數(shù)據(jù)礼华,不會像TCP協(xié)議一樣建立連接。如果接收端不存在的話戏售,發(fā)送的數(shù)據(jù)就會丟失侨核,UDP協(xié)議不會去理會數(shù)據(jù)的安全性,而且在網(wǎng)絡(luò)繁忙灌灾、堵塞的時候會丟失一些數(shù)據(jù)搓译,俗稱“丟包”。

但是UDP協(xié)議的傳輸速度很快锋喜,基本是你的網(wǎng)絡(luò)有多快就傳輸多快些己。所以游戲、直播嘿般、語音電話等功能都是得靠UDP來實現(xiàn) 段标,TCP都是基于UDP開發(fā)的,就是在UDP上增加了各種安全措施保護了數(shù)據(jù)的安全炉奴,犧牲了傳輸?shù)乃俣取?UDP傳輸數(shù)據(jù)的方式是把數(shù)據(jù)分成一個個的數(shù)據(jù)包逼庞,每個包都會限制數(shù)據(jù)的大小。

學習UDP的傳輸瞻赶,我們需要用到兩個類:DatagramSocket和DatagramPacket類赛糟,和TCP里學過的不一樣的一點是DatagramSocket既可以做接收端派任,也可以做發(fā)送端。接收端需要聲明端口號璧南,發(fā)送端則不需要聲明ip地址和端口號掌逛。接收端會有一個空的數(shù)據(jù)包,用來接存儲發(fā)送端發(fā)過來的數(shù)據(jù)司倚。發(fā)送端則是將數(shù)據(jù)包裝成一個數(shù)據(jù)包豆混,然后聲明對方的ip地址和端口號接著就能將數(shù)據(jù)發(fā)送過去了。示意圖

發(fā)送端代碼示例:

接收端也可以限制IP的对湃,設(shè)置成只接收某個IP的數(shù)據(jù):

接收端代碼示例:

運行結(jié)果:

多線程服務(wù)器:

到此之前我們編寫的都是單線程的服務(wù)器端崖叫,單線程的服務(wù)器有一個壞處就是,在多人同時訪問的時候會很緩慢拍柒。例如做個試驗:在單線程的服務(wù)器端調(diào)用sleep方法讓線程休眠3秒鐘,然后運行服務(wù)器端屈暗,接著打開幾個瀏覽器同時進行訪問拆讯,會發(fā)現(xiàn)第一個瀏覽器停頓了3秒左右,第二個瀏覽器停頓了6秒左右养叛,第三個瀏覽器停頓了9秒左右种呐,這樣以此類推的話速度實在太慢不忍直視。所以這時候就需要用到多線程來編寫多線程服務(wù)器了弃甥,多線程就能同時的進行處理訪問的客戶端爽室,而且在真正的開發(fā)中也不可能會用到單線程的服務(wù)器。

TCP多線程服務(wù)器代碼示例:

運行結(jié)果:

UDP多線程服務(wù)器代碼示例:

運行結(jié)果:

從運行結(jié)果可以看出來這種來一個線程開一個線程的方式的弊端淆攻,就是會開啟無數(shù)個線程阔墩,導致資源占用很大。

線程池服務(wù)器: 所以這時候我們就需要用到線程池了瓶珊,線程池能很好的管理線程資源啸箫,能夠限制住不會導致資源占用很大。 TCP線程池服務(wù)器代碼示例:

運行結(jié)果:

UDP線程池服務(wù)器代碼示例:

運行結(jié)果:

從運行結(jié)果可以看出伞芹,使用線程池能夠控制好線程的開啟數(shù)量忘苛,從而不會導致線程的濫用,在計算機上的資源占用也就不會那么嚴重了唱较。在開發(fā)中盡量使用線程池來編寫多線程服務(wù)器扎唾,不使用線程池的話弊端很大。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末南缓,一起剝皮案震驚了整個濱河市胸遇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌西乖,老刑警劉巖狐榔,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坛增,死亡現(xiàn)場離奇詭異,居然都是意外死亡薄腻,警方通過查閱死者的電腦和手機收捣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來庵楷,“玉大人罢艾,你說我怎么就攤上這事【∨Γ” “怎么了咐蚯?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長弄贿。 經(jīng)常有香客問我春锋,道長,這世上最難降的妖魔是什么差凹? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任期奔,我火速辦了婚禮,結(jié)果婚禮上危尿,老公的妹妹穿的比我還像新娘呐萌。我一直安慰自己,他們只是感情好谊娇,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布肺孤。 她就那樣靜靜地躺著,像睡著了一般济欢。 火紅的嫁衣襯著肌膚如雪赠堵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天船逮,我揣著相機與錄音顾腊,去河邊找鬼。 笑死挖胃,一個胖子當著我的面吹牛杂靶,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播酱鸭,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼吗垮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了凹髓?” 一聲冷哼從身側(cè)響起烁登,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后饵沧,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锨络,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年狼牺,在試婚紗的時候發(fā)現(xiàn)自己被綠了羡儿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡是钥,死狀恐怖掠归,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情悄泥,我是刑警寧澤虏冻,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站弹囚,受9級特大地震影響厨相,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜鸥鹉,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一领铐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宋舷,春花似錦、人聲如沸瓢姻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽幻碱。三九已至绎狭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間褥傍,已是汗流浹背儡嘶。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留恍风,地道東北人蹦狂。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像朋贬,于是被迫代替她去往敵國和親凯楔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理锦募,服務(wù)發(fā)現(xiàn)摆屯,斷路器,智...
    卡卡羅2017閱讀 134,629評論 18 139
  • 從三月份找實習到現(xiàn)在糠亩,面了一些公司虐骑,掛了不少准验,但最終還是拿到小米、百度廷没、阿里糊饱、京東、新浪腕柜、CVTE济似、樂視家的研發(fā)崗...
    時芥藍閱讀 42,211評論 11 349
  • 本文出自 Eddy Wiki ,轉(zhuǎn)載請注明出處:http://eddy.wiki/interview-java.h...
    eddy_wiki閱讀 2,072評論 0 14
  • 關(guān)于作者 蘇珊·福沃德盏缤,國際知名心理治療師砰蠢,擁有20多年的心理治療經(jīng)驗。是婚姻關(guān)系唉铜,戀愛關(guān)系及人際關(guān)系研究領(lǐng)域的頂...
    蔚成閱讀 398評論 0 0
  • 孤身一人在異國他鄉(xiāng)餐廳顧自顧抽泣台舱,這是什么體驗?我知道所有人的目光都看著我潭流,安靜的竞惋,表情復雜的,無論是正在就餐的或...
    Ls天塹無涯閱讀 432評論 0 0