
网络编程
文章平均质量分 54
liuwp5
这个作者很懒,什么都没留下…
展开
-
socket网络编程——读缓冲区、写缓冲区怎么区分?
一、读、写缓冲区我们使用socket进行网络通信时,通过调用socket()函数创建一个文件描述符fd进行通信。而socket所创建的文件描述符fd拥有两块内存缓冲区:读缓冲区/接收缓冲区写缓冲区/发送缓冲区二、如何区分问题是怎么记忆区分这两个缓冲区呢????️?我们举一个例子????:服务端sfd给客户端cfd发送数据。1、服务端调用write()把数据写进发送缓冲区,也就是写缓冲区了。2、内核读取写缓冲区数据后发送给客户端接收缓冲区,也就是读缓冲区了。3、客户端调用read()原创 2021-02-26 10:11:54 · 1755 阅读 · 0 评论 -
TCP状态转移图详解
TCP状态转移图一、三次挥手状态转移客户端SYN_SENT:调用connect()函数发送SYN请求时;ESTABLISHED:收到服务器ACK时;服务器LISTEN:调用listen()函数监听时;SYN_RCVD:回复ACK并发送SYN请求时;ESTABLISHED:收到客户端ACK时;二、数据传输双方均处于ESTABLISHED状态。三、四次挥手状态转移客户端(主动关闭方)FIN_WAIT_1:调用close()函数并发送FIN请求时;FIN_WAIT_2:收原创 2021-02-25 09:54:57 · 1029 阅读 · 0 评论 -
TCP四次挥手为什么是四次?可以三次吗?
一、TCP三次握手、四次挥手我们先回顾TCP三次握手、四次挥手的过程。1、三次握手:Client:请求连接;Server:同意并请求连接;Client:同意。2、四次挥手:Client:请求关闭;Server:同意;【Server:…(可能在继续发未发完的数据/也可能没有)】Server:请求关闭;Client:同意。二、握手挥手间的实质与差别1、实质请求连接/关闭:是一对socket_pair的建立连接/关闭的过程。socket_pair:由一方的发送缓冲区.原创 2021-02-07 12:09:21 · 9313 阅读 · 2 评论