为什么要学习socket
socket历史悠久。它们的使用始于 1971年的ARPANET,后来成为1983年发布的Berkeley Software Distribution(BSD)操作系统中的API,称为Berkeley套接字。
当互联网在20世纪90年代随万维网起飞时,网络编程也是如此。Web服务器和浏览器并不是利用新连接的网络和使用套接字的唯一应用程序。各种类型和规模的客户端 - 服务器应用程序得到广泛使用。
今天,尽管socket API使用的底层协议已经发展多年,而且我们已经看到了新协议,但是低级API仍然保持不变。socket是独立于各种编程语言的一种网络通信工具,每一门语言都有自己独立的封装。
最常见的套接字应用程序类型是客户端 - 服务器应用程序,其中一方充当服务器并等待来自客户端的连接。这就是将在本教程中介绍的应用程序类型。更具体地说,我们将查看用于Internet套接字的套接字API ,有时称为Berkeley或BSD套接字。还有Unix域套接字,它只能用于同一主机上的进程之间的通信。