服务器和客户端三次握手和四次挥手
三次握手是建立连接
- 为了简历安全连接 带着sck seq 跟服务器进行交流
- 第一次是告诉服务器我来了,要建立连接
- 第二次是服务器告诉我他收到请求了,可以准备连接了
- 第三次是我告诉服务器,进入连接
四次挥手是断开连接
- 首先是客户端向服务器发送一个FM包,服务器收到后,向客户端发送有个确认的收拾 进入 close_wait状态,然后客户端收到ACK 包后 进入 fin_wait2 状态,然后服务器端再吧自己剩余没传完的数据发送给客户端。发送完毕后在发一个Fin+ ACK包,进入Last_ack(最后确认)状态,客户端收到Fin+ack包后,再向服务器发送ACK包,在等待两个周期后关闭连接
为什么是三次握手而不是两次握手
因为最后一次确认状态时,需要等待两个周期,如果不等待的话,会出现包丢失,接收不完的情况,所以是三次握手
上一篇:
IDEA上Java项目控制台中文乱码