帶你深入了解Socket

深入了解Socket

開(kāi)始本文之前肄梨,我首先提出以下幾個(gè)問(wèn)題:

  • 什么是TCP/IP键科、UDP闻丑?
  • Socket是什么?

什么是TCP/IP勋颖、UDP嗦嗡?

TCP/IP(Transmission Control Protocol/Internet Protocol)即傳輸控制協(xié)議/網(wǎng)間協(xié)議,是一個(gè)工業(yè)標(biāo)準(zhǔn)的協(xié)議集饭玲,它是為廣域網(wǎng)(WANs)設(shè)計(jì)的酸钦。
UDP(User Data Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)是與TCP相對(duì)應(yīng)的協(xié)議咱枉。它是屬于TCP/IP協(xié)議族中的一種卑硫。
這里有一張圖,表明了這些協(xié)議的關(guān)系蚕断。



TCP/IP協(xié)議族包括運(yùn)輸層欢伏、網(wǎng)絡(luò)層、鏈路層∫谌椋現(xiàn)在你知道TCP/IP與UDP的關(guān)系了吧硝拧。

Socket在哪里呢?

在上圖中葛假,我們沒(méi)有看到Socket的影子障陶,那么它到底在哪里呢?還是用圖來(lái)說(shuō)話聊训,一目了然抱究。



原來(lái)Socket在這里。

Socket是什么呢带斑?

Socket是應(yīng)用層與TCP/IP協(xié)議族通信的中間軟件抽象層鼓寺,它是一組接口勋拟。在設(shè)計(jì)模式中,Socket其實(shí)就是一個(gè)門面模式妈候,它把復(fù)雜的TCP/IP協(xié)議族隱藏在Socket接口后面敢靡,對(duì)用戶來(lái)說(shuō),一組簡(jiǎn)單的接口就是全部苦银,讓Socket去組織數(shù)據(jù)啸胧,以符合指定的協(xié)議。
你會(huì)使用它們嗎幔虏?
前人已經(jīng)給我們做了好多的事了吓揪,網(wǎng)絡(luò)間的通信也就簡(jiǎn)單了許多,但畢竟還是有挺多工作要做的所计。以前聽(tīng)到Socket編程柠辞,覺(jué)得它是比較高深的編程知識(shí),但是只要弄清Socket編程的工作原理主胧,神秘的面紗也就揭開(kāi)了叭首。
一個(gè)生活中的場(chǎng)景。你要打電話給一個(gè)朋友踪栋,先撥號(hào)焙格,朋友聽(tīng)到電話鈴聲后提起電話,這時(shí)你和你的朋友就建立起了連接夷都,就可以講話了眷唉。等交流結(jié)束,掛斷電話結(jié)束此次交談囤官。 生活中的場(chǎng)景就解釋了這工作原理冬阳,也許TCP/IP協(xié)議族就是誕生于生活中,這也不一定党饮。



先從服務(wù)器端說(shuō)起肝陪。服務(wù)器端先初始化Socket,然后與端口綁定(bind)刑顺,對(duì)端口進(jìn)行監(jiān)聽(tīng)(listen)氯窍,調(diào)用accept阻塞,等待客戶端連接蹲堂。在這時(shí)如果有個(gè)客戶端初始化一個(gè)Socket狼讨,然后連接服務(wù)器(connect),如果連接成功柒竞,這時(shí)客戶端與服務(wù)器端的連接就建立了政供。客戶端發(fā)送數(shù)據(jù)請(qǐng)求,服務(wù)器端接收請(qǐng)求并處理請(qǐng)求鲫骗,然后把回應(yīng)數(shù)據(jù)發(fā)送給客戶端,客戶端讀取數(shù)據(jù)踩晶,最后關(guān)閉連接执泰,一次交互結(jié)束。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末渡蜻,一起剝皮案震驚了整個(gè)濱河市术吝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌茸苇,老刑警劉巖排苍,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異学密,居然都是意外死亡淘衙,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門腻暮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)彤守,“玉大人,你說(shuō)我怎么就攤上這事哭靖【叩妫” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵试幽,是天一觀的道長(zhǎng)筝蚕。 經(jīng)常有香客問(wèn)我,道長(zhǎng)铺坞,這世上最難降的妖魔是什么起宽? 我笑而不...
    開(kāi)封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮济榨,結(jié)果婚禮上燎含,老公的妹妹穿的比我還像新娘。我一直安慰自己腿短,他們只是感情好屏箍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著橘忱,像睡著了一般赴魁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上钝诚,一...
    開(kāi)封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天颖御,我揣著相機(jī)與錄音,去河邊找鬼。 笑死潘拱,一個(gè)胖子當(dāng)著我的面吹牛疹鳄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播芦岂,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼瘪弓,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了禽最?” 一聲冷哼從身側(cè)響起腺怯,我...
    開(kāi)封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎川无,沒(méi)想到半個(gè)月后呛占,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡懦趋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年晾虑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仅叫。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡走贪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出惑芭,到底是詐尸還是另有隱情坠狡,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布遂跟,位于F島的核電站逃沿,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏幻锁。R本人自食惡果不足惜凯亮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望哄尔。 院中可真熱鬧假消,春花似錦、人聲如沸岭接。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鸣戴。三九已至啃沪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間窄锅,已是汗流浹背创千。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人追驴。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓械哟,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親殿雪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子暇咆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

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

  • 1.1 TCP/IP協(xié)議組 TCP/IP協(xié)議(傳輸控制協(xié)議)由網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP協(xié)議組成 IP層負(fù)責(zé)...
    F麥子閱讀 2,788評(píng)論 0 25
  • 一: 網(wǎng)絡(luò)各個(gè)協(xié)議:TCP/IP年栓、SOCKET拆挥、HTTP 網(wǎng)絡(luò)七層由下往上分別為物理層、數(shù)據(jù)鏈路層某抓、網(wǎng)絡(luò)層纸兔、傳輸層...
    iYeso閱讀 1,435評(píng)論 0 13
  • 網(wǎng)絡(luò)概念第一天 兩臺(tái)電腦怎么通過(guò)網(wǎng)絡(luò)傳輸數(shù)據(jù)?怎樣才能知道傳輸?shù)氖菙?shù)據(jù)否副?誰(shuí)摸過(guò)網(wǎng)線汉矿? 看電影,怎么看的备禀?通過(guò)電流洲拇,...
    小吖朱閱讀 1,554評(píng)論 0 1
  • 一、網(wǎng)絡(luò)各個(gè)協(xié)議:TCP/IP曲尸、SOCKET赋续、HTTP等 網(wǎng)絡(luò)七層由下往上分別為物理層、數(shù)據(jù)鏈路層另患、網(wǎng)絡(luò)層纽乱、傳輸層...
    杯水救車薪閱讀 2,264評(píng)論 0 17
  • 今天我們的支教工作開(kāi)始了!當(dāng)我們冒著小雨走進(jìn)校門的時(shí)候昆箕,我被美麗的校園驚到了鸦列!我由衷感謝平安產(chǎn)險(xiǎn)的援助才得...
    我就是我還是那個(gè)我閱讀 332評(píng)論 0 0