Socket为什么要翻译成套接字
链接:https://www.zhihu.com/question/21383903/answer/64103663
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
理论上对于计算机界的新名词,我们国家有个中国计算机学会,下面有个“计算机术语审定工作委员会”,其职责就是“负责计算机新术语的审定工作,收集、翻译、释义、审定和推荐计算机术语,将审定过的新术语报全国名词审定委员会,审定过的新词在CCF平台上宣传推广”,成员是全国几十名教授哦。很希望能看到他们的成果,可是在他们“CCF平台”上木有任何进一步信息……
好吧我知道他们不会理我,我自己找谷大叔玩。友情提醒,跟我一样睡不着的可以往下继续看,不看也不损失什么,看了也收获不了什么,就4这么拽。
在计算机领域,socket有多个意思。在硬件上,理解为插座上没错的,比如CPU的插座Socket 370, Socket 462, Socket AM3,这个大家都很容易理解,木有异议。让人很费解的是这货出现在软件领域(广义)时,就硬生生改名套接字了。
最早出现socket,目前俺能找到的信息,是1972年一篇关于ARPANET(美国高等研究计划署网络,互联网的祖师爷)面向功能协议的论文(computer.org 的页面):
容易看出,作者是想表达建立网络连接和插插座一样,一方去“插”一方“被插”。1974年另一介绍仿ARPANET直连的论文也提到同样的概念,并更仔细的描述这一交互机制。(ietf.org 的页面)
然后真正将socket概念发扬光大的,是1983年4.2BSD的发布,这是伯克利推出内含TCP/IP的第一个Unix BSD版本(berkeley.edu 的页面)
从这个时期起,socket是一种进程间通信机制,提供一种供应用程序访问通信协议的操作系统调用,并且通过将socket与Unix系统文件描述符相整合,使得网络读写数据(或者服务调用)和读写本地文件一样容易。很显然,这货已经离插座越来越远了,已经完全不再是硬件上的物件,而是一序列的“指令” ,按汉语的理解,已经具备了“套接”(建立网络通讯或进程间通讯)和“字”(可交互的有序指令串)的概念。
然后我们回到国内。俺在知网翻了很久很久,最早关于socket的文献竟然就是一篇讲翻译的,《计算机网词汇译名讨论》 ,发表于1977年02期《电子计算机动态》,文中把socket译为“媒介(字)”,可见作者已基本理解了该词的意义,并且在此之前应该已经有文献里用到了这个词,可惜实在找不到。
然后在1979年09期《电子计算机参考资料》上一篇无名氏作的《计算机网络软件简介》上,也是关于ARPANET的,作者直接就前无古人的冒出了“套接字”这三个字。同时作者提“信口”。文中虽然没有出现socket字样,但由于所描述的对象实际就是socket,所以俺就认为这就是他了。
能找到最早提及socket的文献,是阎保平发表于1982年12期《计算机研究与发展》的《一种局部互连分组交换网络的体系结构》,文章设计了一种局域网组网的原理和实现,既在文中提到套接字,又在一个图表中示意出了socket。

还有一篇早期文献提到了套接字,是陆圣铭发表在1984年07期《电子技术》上的《微计算机时代的普及型局部网络》,在介绍OMNINET(一种结构简单、灵活的低成本微型机局域网方案)时提到socket为“软插口”,并附加了注释“并不是硬件上的插座”。
所以可以认为在1980年前后几年,socket一词已经进入我国学界,然后在大约80年代中期套接字这一翻译被逐渐普遍接受。
嗯,谢谢观赏。然而看到这也还是没有x用啊,我只是说了说历史,还是没说清为什么是不是,可是我从一开始就说了这是未知之谜啊,哈哈哈哈。其实我也很不喜欢这种生涩的译名,比如context设备上下文、handle句柄、macro宏,我小时候自己看计算机书籍好辛苦的,都是汉字但就是不知道在说什么。
Socket为什么要翻译成套接字的更多相关文章
- 项目笔记---Socket Error Code翻译
前言 在项目中为了方便调试及客户反馈,需要Socket错误数字的中文解释,MSDN上只有英文版,同时也想自己学习而且方便将来更新ErrorCode的实际发生的情景,顾有此博文. MSDN:https: ...
- socket , 套接口还是套接字,傻傻分不清楚
socket 做网络通信的朋友大都对socket这个词不会感到陌生,但是它的中文翻译是叫套接口还是套接字呢,未必大多数朋友能够分清,今天我们就来聊聊socket的中文名称. socket一词的起源 在 ...
- Socket编程(C语言实现):socket()函数英文翻译
最近开始研究使用Socket API来网络编程,想着把自己的感想.感悟写下来.我发现在编程之外还有不少概念性的东西要学习.我觉得应该有以下几点吧: 1.得了解下计算机网络的基本概念,如OSI的7层模型 ...
- [Socket网络编程]由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。
原文地址:http://blog.sina.com.cn/s/blog_70bf579801017ylu.html,记录在此方便查看 解决办法: MSDN的说明: Close 方法可关闭远程主机连接, ...
- Linux系统编程(37)—— socket编程之原始套接字
原始套接字的特点 原始套接字(SOCK_RAW)可以用来自行组装IP数据包,然后将数据包发送到其他终端.也就是说原始套接字是基于IP数据包的编程(SOCK_PACKET是基于数据链路层的编程).另外, ...
- Socket编程实践(9) --套接字IO超时设置方法
引:超时设置3种方案 1. alarm超时设置方法 //代码实现: 这种方式较少用 void sigHandlerForSigAlrm(int signo) { return ; } signal(S ...
- Socket套接字
socket编程,熟悉吧,那到底什么是socket呢?: 我们经常把socket翻译为套接字,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口,来供应用 ...
- 高性能Server---Reactor模型-----Socket
高性能Server---Reactor模型 原文地址:http://www.ivaneye.com/2016/07/23/iomodel.html 无处不在的C/S架构 在这个充斥着云的时代,我们 ...
- 高性能Server---Reactor模型
原文地址:http://www.ivaneye.com/2016/07/23/iomodel.html 无处不在的C/S架构 在这个充斥着云的时代,我们使用的软件可以说99%都是C/S架构的! 你发邮 ...
随机推荐
- web.xml文件详解
web.xml文件详解 Table of Contents 1 listener. filter.servlet 加载顺序 2 web.xml文件详解 3 相应元素配置 1 listener. f ...
- Nginx上传文件失败
公司用Nginx做反向代理,出现了上传文件失败的问题,通过查看错误日志,发现是上传文件太大的缘故. 通过查找资料,才知道nginx默认最大上传文件时1M.这就需要修改配置文件,将上传文件大小进行修改. ...
- TIOBE Index for January 2016(转载)
Java has won the TIOBE Index programming language award of the year. This is because Java has the la ...
- [I2C]I2C架构分析
转自:http://blog.csdn.net/wangpengqi/article/details/17711165 1. I2C 概述 I2C是philips提出的外设总线. I2C只有两条线,一 ...
- Tips For Your Maya Plugin Development
(The reason why I write English blog is that I'm trying to improve my written English. The Chinese v ...
- SQLite 函数大全
http://blog.sina.com.cn/s/blog_48e2ea3401012031.html
- Vmware workstation 11 安装 RedHat 9 时 第二个iso文件 出现光盘无法被挂载
通过虚拟机装linux系统,RedHat 9有3个iso文件,安装第一个iso文件时很顺利,安装完成第一个iso文件后,提示请插入光盘 需要继续安装第二个和第三个iso文件,点击菜单栏——虚拟机——设 ...
- 事实证明,abstract类除了不能用new实例化和类没什么区别
abstract类是抽象类,不能够实例化,大家都知道,abstract类往往和接口interface一块儿使用,针对接口中一些公共的方法进行实现,然后实体类去继承抽象类和接口.虽然abstract类不 ...
- [转]Amazon DynamoDB – a Fast and Scalable NoSQL Database Service Designed for Internet Scale Applications
This article is from blog of Amazon CTO Werner Vogels. -------------------- Today is a very exciting ...
- RDD常用方法之subtract&intersection&cartesian
subtract Return an RDD with the elements from `this` that are not in `other` . def subtract(othe ...