一、读、写缓冲区
我们使用socket进行网络通信时,通过调用socket()函数创建一个文件描述符fd进行通信。
而socket所创建的文件描述符fd拥有两块内存缓冲区:
- 读缓冲区/接收缓冲区
- 写缓冲区/发送缓冲区

二、如何区分
问题是怎么记忆区分这两个缓冲区呢🤔️?
我们举一个例子🌰:服务端sfd给客户端cfd发送数据。
1、服务端调用write()把数据写进发送缓冲区,也就是写缓冲区了。
2、内核读取写缓冲区数据后发送给客户端接收缓冲区,也就是读缓冲区了。
3、客户端调用read()把数据从读缓冲区读出。
结合以上例子,我们可以联系write()/read()函数,以及发送缓冲区/接收缓冲区,来记忆区分写/读缓冲区。
博客介绍了使用socket进行网络通信时,其创建的文件描述符fd有读/接收、写/发送两块内存缓冲区。还通过服务端给客户端发送数据的例子,说明如何区分这两个缓冲区,可结合函数及发送、接收缓冲区来记忆。
2671

被折叠的 条评论
为什么被折叠?



