网络编程就是编写程序使两台联网的计算机相互交换数据
socket 被翻译为“套接字
socket 的典型应用就是 Web 服务器和浏览器:浏览器获取用户输入的 URL,向服务器发起请求,服务器分析接收到的 URL,将对应的网页内容返回给浏览器,浏览器再经过解析和渲染,就将文字、图片、视频等元素呈现给用户。
UNIX/Linux 中的一切都是文件!
为了表示和区分已经打开的文件,UNIX/Linux 会给每个文件分配一个 ID,这个 ID 就是一个整数,被称为文件描述符(File Descriptor)
网络连接也是一个文件,它也有文件描述符!
可以通过 socket() 函数来创建一个网络连接,或者说打开一个网络文件,socket() 的返回值就是文件描述符
有了文件描述符就可以使用普通的文件操作函数来传输数据了,例如:
-
用 read() 读取从远程计算机传来的数据;
-
用 write() 向远程计算机写入数据。
Windows 系统中的socket被称为“文件句柄”
Windows 平台将使用“句柄”,如果涉及 Linux 平台则使用“描述符”。
Internet 套接字。
通过 socket() 函数创建连接