被譯名掩蓋了本質(zhì)的socket
在網(wǎng)絡(luò)編程領(lǐng)域(注意不是Web編程),幾乎每天都與socket打交道。然而不知如何,國(guó)人竟把socket翻譯成了“套接字”。socket的原意是指電源插座,而“套接字”為何物?
雖然這種翻譯已經(jīng)被絕大多數(shù)國(guó)人認(rèn)可,可這也恰恰給網(wǎng)絡(luò)編程的入門及其本質(zhì)的理解造成了難以理解的巨大惡果。還是先讓我們來看看插座吧。
對(duì)于電源插座,相信大家都不會(huì)陌生了。看看下面這個(gè)再簡(jiǎn)單不過的生活經(jīng)歷:
小王裝修房子,第一天,為了用電,必須找一根電纜從變電站把電引入家中。也就是家里用電的總來源要有啊。
第二天,小王買來了電冰箱,為了給電冰箱供電,必須先買一個(gè)插座,并把插座接到第一天引入的電源線上。剩下來就簡(jiǎn)單了,因?yàn)橛辛瞬遄?socket),把冰箱的電源插頭插入就OK了。
第三天,熱愛計(jì)算機(jī)的小王買來了心愛的電腦,可這下就犯愁了,怎么供電呢?好辦,又買了一個(gè)插座(socket)并接到電源線上,把電腦的插頭插入socket,電腦終于可以正常使用了。
第四天,小王又買來了電視機(jī),同樣一個(gè)socket,又讓電視機(jī)順利地工作了。
第五天,第六天...按照同樣的方法,小王通過一個(gè)又一個(gè)的插座(socket),完成了所有電器的供電。
看完了這個(gè)例子,再想想網(wǎng)絡(luò)編程,簡(jiǎn)直是如出一轍。
為了連上網(wǎng)絡(luò),必須要有網(wǎng)卡(總電源),這樣網(wǎng)絡(luò)上的數(shù)據(jù)便可以到達(dá)你的計(jì)算機(jī)了。可是你的應(yīng)用程序如何取得這些網(wǎng)絡(luò)數(shù)據(jù)呢,很簡(jiǎn)單,建立一個(gè)socket,并連到網(wǎng)卡上,好了這下你就可以從插座里取得信息了。無論何時(shí)你想取得網(wǎng)絡(luò)數(shù)據(jù)只需連接一個(gè)socket即可。
看看,socket這個(gè)詞,用到網(wǎng)絡(luò)編程API上是何等的形象!足見創(chuàng)始人對(duì)網(wǎng)絡(luò)編程模型的準(zhǔn)確把握和良苦用心。然而我們的翻譯者卻把這么好的一個(gè)術(shù)語弄成了“套接字”,本來很簡(jiǎn)單直觀的網(wǎng)絡(luò)編程被蒙上了一層復(fù)雜深?yuàn)W的迷霧。
注意:當(dāng)然網(wǎng)絡(luò)編程中的Socket與電源插座有一定的差別,網(wǎng)絡(luò)中的socket種類和功能更多更強(qiáng),但是其本質(zhì)是一樣的。按照插座來理解網(wǎng)絡(luò)編程,將非常的自然清晰。
posted on 2013-04-19 08:17 鍵盤動(dòng)物 閱讀(270) 評(píng)論(0) 編輯 收藏