代码写注释: 内容小结: ### TCP三次握手和四次挥手 #### 三次握手(建立连接) **握手的目的是为了建立一个可靠的连接,确保双方能够收发消息。** 1. **第一次握手(SYN)**:客户端发送一个SYN(同步)包给服务器,表示客户端希望与服务器建立连接。就像发一个短信问对方“你在家吗?”。 2. **第二次握手(SYN-ACK)**:服务器收到SYN包后,发送一个SYN-ACK包作为响应,表示服务器在家且准备接收连接请求。就像对方回复短信“我在家”。 3. **第三次握手(ACK)**:客户端收到服务器的SYN-ACK包后,再发送一个ACK包给服务器,表示连接建立,客户端准备发送数据。就像客户端再发一个短信“好,我现在过去”。 通过这三次握手,双方确认了彼此的收发能力,连接建立完成。 #### 四次挥手(断开连接) **挥手的目的是为了安全可靠地断开连接,确保双方都能完成所有的数据传输。** 1. **第一次挥手(FIN)**:客户端发送一个FIN(结束)包给服务器,表示客户端没有数据要发送了,准备断开连接。就像告诉对方“我这边忙完了,没别的事了”。 2. **第二次挥手(ACK)**:服务器收到FIN包后,发送一个ACK包表示已收到客户端的断开请求。此时服务器可能还有数据要发送。就像对方回复“知道了,你那边没事了,但我这边还有点事”。 3. **第三次挥手(FIN)**:服务器完成数据传输后,发送一个FIN包给客户端,表示服务器也准备断开连接。就像对方忙完后说“我这边也完事了,可以断开了”。 4. **第四次挥手(ACK)**:客户端收到服务器的FIN包后,发送一个ACK包确认,连接正式断开。就像客户端回复“好的,那咱们断开吧”。 通过这四次挥手,确保双方都能完成所有的任务并安全地断开连接。 ### 关键点总结 - **三次握手**: - 第一次握手:客户端发起连接请求。 - 第二次握手:服务器确认收到请求并准备建立连接。 - 第三次握手:客户端确认连接建立并准备发送数据。 - **四次挥手**: - 第一次挥手:客户端请求断开连接。 - 第二次挥手:服务器确认请求,但可能还有数据要发送。 - 第三次挥手:服务器完成数据传输并请求断开。 - 第四次挥手:客户端确认断开,连接正式关闭。
C语言 分解质因数。例如:输入90,打印出90=2*3*3*5。
TCP 三次握手 四次挥手