三次握手四次挥手是什么意思?为什么是3,不是2或者4?

三次握手(建立 TCP 连接)
就是客户端和服务器建立可靠连接的 3 个步骤,目的是确认双方都能正常收发消息。
第一次:客户端喊服务器:“喂,能听到吗?我要连你了!”
第二次:服务器回应:“我能听到!你能听到我吗?”
第三次:客户端再喊:“我能听到!那咱连上吧!”
为啥是 3 次,不是 2 次或 4 次?
不能是 2 次:如果只两次,服务器发完回应,没法确认客户端能收到自己的消息。服务器以为连上了,客户端可能没收到回应,根本没连上,后续发数据就会丢。
不用是 4 次:3 次已经能确认 “客户端能发能收、服务器能发能收”,多一次纯属浪费时间,降低连接效率。
二、四次挥手(断开 TCP 连接)
就是客户端和服务器断开连接的 4 个步骤,目的是确保双方的数据都传完了,再彻底断开。
第一次:客户端说:“我数据发完了,咱断了吧!”
第二次:服务器回应:“收到,我知道你要断了!”(这时候服务器可能还有数据没发完)
第三次:等服务器把数据发完,再喊:“我数据也发完了,现在真能断了!”
第四次:客户端回应:“收到!那咱断了!”
为啥是 4 次,不是 3 次?因为服务器收到断开请求时,大概率还有数据要发,没法同时说 “我知道要断” 和 “我发完了”,必须分两步回应。所以比建立连接多了一次,没法省成 3 次。

posted @ 2025-12-25 10:55  祁煜卓  阅读(4)  评论(0)    收藏  举报