谈谈socket 套接字

作者:华清远见讲师

1.socket 是什么?

先说说这个单词的意思吧!

看看有道词典给出的解释:

谈谈socket 套接字_第1张图片
谈谈socket 套接字_第2张图片
这是我们生活中用到的插座

实际上翻译成"插口"可能更好理解!

但是现在很多书都翻译成"套接字",实际上翻译成"套接口"更易理解些,

在UNIX Network Programming 1 volume 3th edition中文版page 7下面的译者注释中,译者也注意了这个问题。译者认为这个词译作“套接口”更为合适。

知乎上也有人提出了这个问题,

Socket为什么要翻译成套接字? - 知乎

实际上本身的socket的的作用很明显,就是实现连接的的!

自己画了一个简图:

谈谈socket 套接字_第3张图片

图上反映的是我们的两台电脑想通过 internet来实现通信,那么必须先保证两台电脑连接到internet中,通过什么连呢,物理上我们最常用的就是"网线",插到"网口"中就可以实现上网的功能了!

而这就是socket本身含义的体现!

图中的的网线接口,我们就可以理解为"socket" ---这是其本意

那么为什么要翻译成"套接字"呢?

这个我们得分开来看,首先得先理解"套接"二字

谈谈socket 套接字_第4张图片

但是经过百度搜索并无单纯的"套接"二字的解释

倒是找到了一个叫做"套接管"的东西

先上图:

谈谈socket 套接字_第5张图片

实际上就是来源与上面的这种情形,实现两个管子的连接,起作用的就是中间的套管!

我们姑且可以武断的下个解释:

所谓"套接" ---- 就是 "套到一块,接起来"的意思!

那么,推而广之,

"套接字 " ---- "就是起套接(连接)作用的 文件描述字"的简称 (注:File Descriptors文件描述符或是文件描述字 )

总结:

socket 本身是英文单词的 "插座""插口"的意思,关键是领悟到其核心的作用,是媒介,或者叫中介

实现的是连接的作用!

所以中文在翻译的时候,翻译成了"套接字",是取其"套接(连接)"含义的!也是充分站在老外的角度来理解和翻译的!

温馨提示:以上内容,多是杜撰,鲜有考证(精力有限,准本溯源,可能也是无功而返,如果您是强迫症患者,请到这看看,也许可以缓解一下,Socket为什么要翻译成套接字? - 知乎 )

了解到上面的含义之后我们来看一下,计算机中网络编程中的socket是什么呢!是如何起到所谓"套接"的作用的呢?

linux下 对socket的描述有两句话

(1).socket 是一个特殊的文件

(2).socket是一个应用编程接口

2.为什么说socket是一个特殊的文件?---基于文件描述符的

谈谈socket 套接字_第6张图片

你可能感兴趣的:(linux嵌入式方向)