为啥三次握手呢?两次不行吗?
不可以
三次握手是为了防止已失效的链接请求报文突然又传送到了服务器而产生错误。
客户端发出的连接请求报文并未丢失,而是在某个网络节点长时间滞留了,以致延误到链接释放以后的某个时间才到达服务器。
服务器误以为这是客户端发出的一个新的连接请求,于是就向客户端发送确认数据包,同意建立连接。
若不采用三次握手,那么只要服务器发出确认数据包,新的连接就建立了。由于客户端此刻并没有发出连接请求,所以客户端不会理服务器的确认,也不与服务器通信,而这时服务器一直再等待客户端的请求,这样服务器就白白的浪费了一定的资源。
若采用三次握手,在这种情况下,由于服务器端没有收到来自客户端的确认,则就会知道客户端并没有要求建立请求,就不会建立连接。