浅谈 Linux 网络编程 socket

本文介绍了网络套接字(Socket),强调其成对出现的特性,以及如何通过文件描述符进行连接。它通过内核的缓冲区机制实现双向通信,作者通过对比前后图示解释了为何称Socket为‘插槽’。
摘要由CSDN通过智能技术生成

文章目录

socket 介绍

socket 被翻译成 网络套接字,这个名字实在是不好理解,我更愿意称为"插槽"。

忽略 socket 的中文名,先无脑记住两个规则:

① 记住,一个文件描述符(fd) 指向一个 socket,socket 一定是成对出现的,也就是 接收 和 发送 双方各提供一个 socket 才能建立连接实现通信。
**
**
② 记住,socket 内部由内核借助两个缓冲区实现,也就是 发送端的socket 和 接收端的 socket 里面都有两个缓冲区,这两个缓冲区分别是 读缓冲区 和 写缓冲区。

以上解释可能抽象,将 ① 和 ② 带入下图再细细品:
在这里插入图片描述
图上使用的是 client 和 server,双方都有 读/写缓冲区,因为 client 和 server 都具备 接收 / 发送 的功能。首先是 client 和 server 端各提供一个 socket 用于连接,当 socket 建立连接后,一端的 发送缓冲区 对应对端的 接收缓冲区。

以上就是 socket 的基本介绍,还有一个问题,开头说了"我更愿意将 socket 称为 插槽",为什么?

我只需略微出手,将上图稍微改变一下,你就知道为什么是"插槽"了:
在这里插入图片描述
就问你这像不像"插槽"?
到此,关于 socket 的介绍就结束了。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值