熟悉网络编程的朋友对于 Socket 一定不会陌生. 我们经常会看到书上这样说: "连接到某某服务器, 开启一个 socket.".
socket 这个词, 最早出现在 1970 年 2 月 12 日发表的 RFC33: New HOST-HOST Protocol 中.
A major issue is how to refer to processes in a foreign HOST....
The elements of the name space are called sockets. A socket forms
one end of a connection, and a connection is fully specified by a
pair of sockets.
其中对 socket 的定义是, 一个用来表述某个主机上的某个进程的结构体. 一个连接中就包含了两个 socket, 分别表示连接的两端.
由于当时可连接到阿帕网的主机设备各不相同, 所以需要 socket 这一中间结构体来进行沟通.
当时的网络仅仅存在于美国的几个大学之间, 某个学校的学生可以通过网络连接到另一个学校的主机上.
此后随着 IP 成为了互联网的标准协议, socket 的定义也逐渐产生了变化, 如今一般指 ip 和 port 共同组成的结构体.
在这篇 RFC 中, 还第一次出现了 "front end" 前端这个词. 表示一种在本地计算机上运行的程序, 其功能是处理网络和用户之间的交互.
其中提到用于编写"前端"的语言需要具有的几种特质: 1. 并发, (或者叫异步) 2. 代码可拼接 3. 设备兼容.
顺便说一下, 在 1970 年, 网络工作组的成员们就开始使用阿帕网开始远程工作了.
More significantly, one of the authors (S. Carr) living in Palo Alto
uses the Salt Lake PDP-10 on a daily basis by first connecting to
SRI.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。