socket网络编程——读缓冲区、写缓冲区怎么区分?
一、读、写缓冲区
我们使用socket进行网络通信时,通过调用socket()
函数创建一个文件描述符fd进行通信。
而socket所创建的文件描述符fd拥有两块内存缓冲区:
- 读缓冲区/接收缓冲区
- 写缓冲区/发送缓冲区
二、如何区分
问题是怎么记忆区分这两个缓冲区呢🤔️?
我们举一个例子🌰:服务端sfd给客户端cfd发送数据。
1、服务端调用write()
把数据写进发送缓冲区,也就是写缓冲区了。
2、内核读取写缓冲区数据后发送给客户端接收缓冲区,也就是读缓冲区了。
3、客户端调用read()
把数据从读缓冲区读出。
结合以上例子,我们可以联系write()/read()
函数,以及发送缓冲区/接收缓冲区,来记忆区分写/读缓冲区。
kaggle菜市场菜鸟: thanks
不吃饭不睡觉w: 但是conda list中找不到
m0_74062487: 请问为什么我用pip安装了第三方库成功后为什么我的Pycharm还是报错呢?
Miawu_: 你好,请问怎么安装旧版本ubantu?网上下载的ubantu镜像iso格式的,用paralles打不开。这是怎么解决的? 谢谢🙏
菜狗的进阶之路: 很清晰,谢谢,希望对面试有帮助