2021-11-03

为什么进行四次挥手
由于TCP是全双工的,因此每个方向都需要单独关闭。因为服务端的listen状态下的socket收到SYN报文的连接请求的时候,可以把ACK和SYN(ACK起应答作用,SYN起同步作用)放在一个报文里来发送。但关闭连接时,当收到对方的SYN报文通知时,仅表示对方没有数据发送给你了,但未必你所有的数据都发送给对方了,所以你未必可能会马上关闭socket,即你可能会发送一些东西给对方后,再发送FIN报文给对方代表你同意关闭连接了,所以这里的ACK和SYN大多情况都是分开发送的为什么进行三次握手如果是两次握手还会出现一个问题,客户端的第一次SYN请求在网络中阻塞时,客户端重新发送第二次SYN请求,服务器收到第二次SYN请求后,成功与客户端两次握手,双方建立连接,在数据传输结束后,双方断开链接,这时,第一次的SYN请求在服务端到来,服务端会认为客户端想要重新建立链接,给客户端发出确认建立连接,会一直等待客户端发送数据,而客户端已经完成了自己的数据传输任务,不会再给服务端发信息,于是服务端就一直等待,造成了资源的浪费

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值