TCP三次握手?
第一次:客户端发送连接请求,将syn置1,发出一个初始序列号seq给服务器(告诉server我想建立连接发数据)
第二次:服务器收到客户端的syn = 1后,将自己的syn置1,ACK置1,产生一个 ack = 客户端的seq+1 并生成自己的seq 发送给客户端(回应client,好的我准备好了,你发数据吧)
第三次:客户端收到服务器回应,检查服务器的ACK = 1 & ack = seq+1,检查正确后将自己的ACK置1,产生一个 ack = 服务器的seq+1 ,发送给服务器。
服务器再检查客户端回应的ACK = 1 & ack = seq+1 ,检查正确后不再回应,至此三次握手完成,连接建立(告诉server,那我现在就开始发数据了)

追问1:TCP可以两次握手吗?
不可以。
1.可能会导致已失效的连接请求又传到了服务器
client发出的第一个连接请求并没有丢失,只是在某个网络结点长时间的滞留了,等到很久之后的某个时间才到达server。本来这是一个早已失效的请求,但是server并不知道这个请求是 client新发的还是已经失效的,于是就向client发出确认的回应(第二次握手)&