文章目录
- socket 介绍
 
socket 介绍
socket 被翻译成 网络套接字,这个名字实在是不好理解,我更愿意称为"插槽"。
忽略 socket 的中文名,先无脑记住两个规则:
① 记住,一个文件描述符(fd) 指向一个 socket,socket 一定是成对出现的,也就是 接收 和 发送 双方各提供一个 socket 才能建立连接实现通信。
 **
 **
 ② 记住,socket 内部由内核借助两个缓冲区实现,也就是 发送端的socket 和 接收端的 socket 里面都有两个缓冲区,这两个缓冲区分别是 读缓冲区 和 写缓冲区。
以上解释可能抽象,将 ① 和 ② 带入下图再细细品:
 
 图上使用的是 client 和 server,双方都有 读/写缓冲区,因为 client 和 server 都具备 接收 / 发送 的功能。首先是 client 和 server 端各提供一个 socket 用于连接,当 socket 建立连接后,一端的 发送缓冲区 对应对端的 接收缓冲区。
以上就是 socket 的基本介绍,还有一个问题,开头说了"我更愿意将 socket 称为 插槽",为什么?
我只需略微出手,将上图稍微改变一下,你就知道为什么是"插槽"了:
 
 就问你这像不像"插槽"?
 到此,关于 socket 的介绍就结束了。











![[vscode] 1. 在编辑器的标签页下显示文件目录(标签页显示面包屑) 2. 在标题栏上显示当前文件的完整路径](https://img-blog.csdnimg.cn/direct/30566a1eb352438daac2757a7366bd4d.png)







