TCP两次握手会出现以下情况:
无法保证数据完整传输。比如,发送方发送了一个数据包,但是由于网络原因,这个数据包没有被接收方收到,如果使用两次握手,接收方就没有办法告诉发送方没有收到数据,所以发送方可能会一直等待,而接收方也不知道发送方在等待什么。这就导致了数据丢失。
可能有历史连接延续。假设客户端发送一个连接请求,但是由于某种原因导致服务器没有收到请求,客户端可能会认为连接已经建立,但是服务器并不知道。如果后来有其他客户端向服务器发送请求,而请求中恰好包含了与之前客户端相同的源地址和端口号,那么服务器就会误认为这是之前客户端发送的请求,从而建立连接,这就导致了历史连接的延续,可能会给网络带来安全隐患。