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架构的! 你发邮 ...
随机推荐
- maven笔记
jar间接依赖: 被依赖的jar的范围要设置成compile,因发布会包含test范围依赖的jar包. 建立项目之间的联系:先在pom中设定依赖关系,然后可以引用了 .conf: C ...
- jdk动态代理实现
1.jdk动态代理的简单实现类 package com.proxy; import java.lang.reflect.InvocationHandler; import java.lang.refl ...
- Kylin Java RESTful API
最近在做大数据方面的开发, 学习研究了一段时间的kylin系统, 对于前端开发需要使用 RESTful API ,但是官网并没有提供详细的Java API. 经过几天的看文档,最终写出了 Java ...
- HDU 1166 敌兵布阵(线段树单点更新)
敌兵布阵 单点更新和区间更新还是有一些区别的,应该注意! [题目链接]敌兵布阵 [题目类型]线段树单点更新 &题意: 第一行一个整数T,表示有T组数据. 每组数据第一行一个正整数N(N< ...
- 用git管理自己读的书
福昕阅读器,可以方便地做书签和备注.使用git去管理图书和示例代码,一方面能够很好地保存这些资料,方便查找:另外一方面,无论在家,还是在公司,都能很好地同步自己学习的进度. 福昕阅读器5(视图--&g ...
- java安全沙箱(三)之内置于Java虚拟机(及语言)的安全特性
java是一种类型安全的语言,它有四类称为安全沙箱机制的安全机制来保证语言的安全性,这四类安全沙箱分别是: 类加载体系 .class文件检验器 内置于Java虚拟机(及语言)的安全特性 安全管理器及J ...
- jquery分页插件
css代码: /*分页*/ .pageList { clear: both; overflow: hidden; } .pageList a, .pageList span { border: 1px ...
- Ubuntu14.04安装搜狗拼音输入法
删除ibus输入法 sudo apt-get purge ibus sudo apt-get autoremove 安装fcitx和拼音输入法 sudo apt-get install fcitx f ...
- 在Excel中将数字转换为大写
123.09 = 壹佰贰拾叁元零玖分 =SUBSTITUTE(SUBSTITUTE(IF(G10<0,"負","")&TEXT(TRUNC(ABS ...
- Android jar包的导出和使用
一.工程打成JAR包. 1. eclipse下有一工程JsnTxJar,右键工程名选择Export. 选择Java->JAR file 下图所示左边一栏只勾选src,右边一栏都不用勾 ...