TCP三次握手和四次断开
第一次握手:客户端要和服务端进行通信,首先要告知服务端一声,遂发出一个连接请求信号,“你好,可以收到吗?”
第二次握手:当服务端接收到客户端的连接请求,此时要给客户端一个确认信息,“可以,你能听到吗?”
第三次握手:当客户端收到了服务端的确认连接信息后,要告诉一下服务端,“可以的,我可以交流了”。
现在整个建立连接的过程已经结束,接下来就是客户端和服务端交流传递信息的过程(可同时传递信息交流)。
第一次挥手:双方交流的差不多这个时候客户端也说完了,接下来要断开通信连接,所以告诉服务端“我说完了”,此时自身形成等待结束连接的状态。
第二次挥手:服务端知道客户端已经没话说了,服务端此时还有几句话要给客户端说,“我知道你说完了,我在说两句”。
第三次挥手:此时客户端继续处于等待结束的状态,服务器端也说完了,自身此时处于等待关闭连接的状态,并对客户端说,“我说完了,断开吧”。
第四次挥手:客户端收知道服务端也说完了,也要告诉服务端一声,因为连接和断开要双方都按下关闭操作才能断开,客户端同时又为自己定义一个定时器,因为不知道刚才说的这句话能不能准确到达服务端(网络不稳定或者其他因素引起的网络原因),默认时间定为两个通信的最大时间之和,超出这个时间就默认服务器端已经接收到了自己的确认信息,此时客户端就关闭自身连接,服务器端一旦接收到客户端发来的确定通知就立刻关闭服务器端的连接。
到此双方整个通信过程就此结束。这里要说一下:断开链接不一定就是客户端,谁都可以先发起断开指令,另外客户端和服务端是没有固定标准的,谁先发起请求谁就是客户端。