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