初見socket

? ? ? ? 一看socket這個東西殴边,估計大部分人都不知道它為何物,哪怕就是IT行業(yè)做過幾年的人挚躯。然而你平時訪問網(wǎng)站,上個QQ擦秽,上個微信都是依靠著socket這東西码荔。你們說它是多么默默無聞,又是多大貢獻感挥。

初見socket

? ? ? ? socket我們可以理解為兩個應(yīng)用之間消息通訊的一條`電話線`缩搅,兩個軟件之間可以通過他來說話。然而我們平時兩個人說話的形式種類繁多触幼,而socket也有兩種傳遞`說話`的方式硼瓣,一種叫TCP/IP,一種叫UDP置谦。tcp/ip這種形式就是兩個人說話之前堂鲤,先提醒對方我們要準備說話了喔,大家都留意聽哈媒峡,這樣子舊確保對方收到我們的消息瘟栖。而UDP這種方式呢,就比較簡單粗暴咯丝蹭,就像說話直接就說慢宗,對方有沒有聽見我們并不知道坪蚁。

socket與網(wǎng)站

? ? ? ? 也許你會說網(wǎng)站不是依靠http或者https嗎?對網(wǎng)站是依靠這兩個镜沽!然而這兩個東西卻是依賴這socket這幕后大功臣敏晤。我們平時訪問網(wǎng)頁是如何基于socket的呢?首先瀏覽器與服務(wù)器這兩個家伙建立一條通話線路(基于TCP/IP缅茉,確保大家數(shù)據(jù)不丟失~)嘴脾,然后只不過他們之間說話有自己的規(guī)則,每次說正文之前都要說一堆說明(這說明都是一行一行的蔬墩,正文與這些說明隔了一個空行)译打。我們來偷聽一下他們的說明:

瀏覽器妹妹

GET / HTTP/1.1

Host: blog.yubangweb.com

Connection: keep-alive

Cache-Control: max-age=0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Upgrade-Insecure-Requests: 1

User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36

Accept-Encoding: gzip, deflate, sdch

Accept-Language: zh-CN,zh;q=0.8

上面是瀏覽器訪問我的博客的說明文字,我們翻譯成我們可接受的語言:

瀏覽器:hi拇颅,哥們奏司,我們一切都走http1.1協(xié)議哈,我用GET這種訪問方式

瀏覽器:我訪問的主機名字叫blog.yubangweb.com哈

瀏覽器:我們要重復使用連接哈樟插,后續(xù)還有很多話要說

瀏覽器:我要聽最新的話

瀏覽器:我可以接受一些什么方言(這是真的是方言韵洋,反正作者我不懂)

瀏覽器:(這句話我不知道干什么的)

瀏覽器:我是生活在linux系統(tǒng)的谷歌瀏覽器(自我介紹,O(∩_∩)O哈哈~)

瀏覽器:我可以接受縮寫(內(nèi)容壓縮)

瀏覽器:我要中文內(nèi)容(我也不懂英語~)

說完這些就說自己獨特的心里話了(post表單的內(nèi)容)

然后我們看看服務(wù)器哥如何回應(yīng)的:

HTTP/1.1 200 OK

Server: nginx/1.4.4

Date: Sat, 19 Mar 2016 05:42:37 GMT

Content-Type: text/html; charset=utf-8

Content-Length: 4904

Connection: keep-alive

windPlugCacheType: page_cache

Content-Encoding: gzip

Vary: Accept-Encoding, Cookie

windPlugCacheHit: on

X-Frame-Options: SAMEORIGIN

via: yq26.pyruntime

Set-Cookie: saeut=CkMPGl==; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/

服務(wù)器哥:你的訪問我接受了(200就是ok黄锤,如果500就是服務(wù)器哥自己炸了~)

服務(wù)器哥:我是大nginx(apache是前輩搪缨,nginx可以說是后起之秀)

服務(wù)器哥:這句話是什么時候說出口的

。鸵熟。副编。。流强。痹届。。煮盼。短纵。。僵控。

下面的對話都是這樣子的

當說明都說完之后香到,瀏覽器哥就可以把一堆心里話跟瀏覽器妹妹說了,例如html頁面(各種各樣的經(jīng)歷)报破,圖片(曾經(jīng)的回憶)悠就,文檔(自己的工作成品)。說完之后充易,一次愉快的談話就到此為止梗脾,通話線路可能就這樣子斷開,也有可能維持一段時間盹靴。


socket與文件傳輸

同樣的炸茧,文件發(fā)送方(A大姐)與文件接受方(B小弟)建立一條通訊電話線瑞妇。

A大姐:B小弟,快接收一個文件梭冠,大小5000個字符辕狰,文件名叫`你的任務(wù).txt`,純文本來的

B小弟:報告A大姐控漠,收到接收請求蔓倍,來吧!

A大姐:盐捷。偶翅。。碉渡。聚谁。(5000個字符)

B小弟接收了5000個字符,保存在自己這里

B小弟:接收完成滞诺,謝謝

A大姐:ok

然后兩個家伙的通訊鏈路斷開垦巴,文件傳輸完成了(就是如此簡單)


個人看法

在互聯(lián)網(wǎng)如此發(fā)達的今天,兩個軟件的交談也越發(fā)頻繁铭段,不過我們見的一切其實就是和我們每天人與人談話一樣,只不過大家都有自己的說話習慣秦爆,有自己的表達方式序愚。只要大家的交談方式一致就不會說像`雞同鴨講那樣子`。socket只是一條虛擬的電話線等限,交談還是靠自己的約定爸吮。


還是那一句,技術(shù)無味望门,產(chǎn)品振奮人心形娇。我只想用最直白的話語說出最無味的底層技術(shù)。如果喜歡我的文章筹误,點贊是對我對大的支持桐早。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市厨剪,隨后出現(xiàn)的幾起案子哄酝,更是在濱河造成了極大的恐慌,老刑警劉巖祷膳,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件陶衅,死亡現(xiàn)場離奇詭異,居然都是意外死亡直晨,警方通過查閱死者的電腦和手機搀军,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門膨俐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人罩句,你說我怎么就攤上這事焚刺。” “怎么了的止?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵檩坚,是天一觀的道長。 經(jīng)常有香客問我诅福,道長匾委,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任氓润,我火速辦了婚禮赂乐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘咖气。我一直安慰自己挨措,他們只是感情好,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布崩溪。 她就那樣靜靜地躺著浅役,像睡著了一般。 火紅的嫁衣襯著肌膚如雪伶唯。 梳的紋絲不亂的頭發(fā)上觉既,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機與錄音乳幸,去河邊找鬼瞪讼。 笑死,一個胖子當著我的面吹牛粹断,可吹牛的內(nèi)容都是我干的符欠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼瓶埋,長吁一口氣:“原來是場噩夢啊……” “哼希柿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起悬赏,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤狡汉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后闽颇,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體盾戴,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年兵多,在試婚紗的時候發(fā)現(xiàn)自己被綠了尖啡。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片橄仆。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖衅斩,靈堂內(nèi)的尸體忽然破棺而出盆顾,到底是詐尸還是另有隱情,我是刑警寧澤畏梆,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布您宪,位于F島的核電站,受9級特大地震影響奠涌,放射性物質(zhì)發(fā)生泄漏宪巨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一溜畅、第九天 我趴在偏房一處隱蔽的房頂上張望捏卓。 院中可真熱鬧,春花似錦慈格、人聲如沸怠晴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蒜田。三九已至,卻和暖如春选泻,著一層夾襖步出監(jiān)牢的瞬間物邑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工滔金, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人茂嗓。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓餐茵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親述吸。 傳聞我的和親對象是個殘疾皇子忿族,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

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