我们先来了解一下 为什么建立连接需要三次握手?
首先非常明确的是两次握手是最基本的。第一次握手,客户端发了个连接请求消息到服务端,服务端收到信息后知道自己与客户端是可以连接成功的,但此时客户端并不知道服务端是否已经接收到了它的请求,所以服务端接收到消息后的应答,客户端得到服务端的反馈后,才确定自己与服务端是可以连接上的,这就是第二次握手。
那么为什么需要第三次握手呢?
如果只有两次握手,就建立连接了,但是此时客户端并没有任何数据要发送,而服务端还在傻傻的等候佳音,造成很大的资源浪费。所以需要第三次握手,等待客户端再次回应一下,以避免这种资源浪费情况。
可以把三次握手做如下通俗易懂的比喻:
你招手→(告诉妹子,你长得很漂亮,咱俩处处对象吧!)
妹子点头微笑并招手→(妹子回答:好呀,我也很欣赏你)
你点头微笑→(再次告诉妹子,认识您很高兴,咱们一起去旅游吧,接下来就是开始交谈的过程)
试想一下,如果只有