第六百八十四章 網路協議(第1/1頁)
章節報錯
若千年後的一個下午,加州大學伯克利分校研究生billJoy和他的同學John正在閒聊......
bill兄,你知道嗎,tcp\/Ip協議已經被制定出來了,可是還沒有人能實現。
為啥?
因為tcp為了實現可靠傳輸,弄了很多複雜的玩意兒,三次握手,四次揮手滑動視窗,擁塞控制....
這有啥難的?晚上你把tcp\/Ip協議列印出來,我手寫一個
嘿嘿,沒想到吧!我還真的把這些協議都給列印了下來你給我實現一個看看?
行,放到那裡吧給我備好咖啡,明天早上來見我
第二天一早,John就來找bill Joy了
John你看,tcp\/Ip已經被我實現了加到Unix核心當中去了
牛逼啊!我昨晚躺在床上還在想這兩個程序用tcp協議通訊時,需要用[客戶端Ip,客戶端port,伺服器端Ip伺服器端port]這個四元組來唯一標記你是怎麼處理的?
很簡單,我把他抽象成一個概念了,叫socket
socket?怎麼操作socket?
那肯定是開啟(open)然後讀寫(read\/write)最後關閉(close)
這不是和對檔案的操作一樣嗎?
是啊,Ken thompson和dennisRitchie不是說過嗎?Everythingis a file,我把socket也當作檔案來處理,只不過沒有名稱罷了
哎喲!牛逼!果然Everything is a file呀!