爲何三次握手:.net
讓服務端和客戶端都知道,本身的收信能力和發信能力沒有問題;blog
第一次:客戶端發給服務端--服務端知道了,本身的收信能力和客戶端的發信能力沒有問題;get
第二次:服務端回覆客戶端--客戶端知道了,本身的發信能力和收信能力沒有問題,否則不會收到服務端的回信;服務端發信能力和收信能力沒問題,否則不會收到服務端的回信;im
第三次:客戶端回覆服務端--服務端知道了,本身的發信能力和客戶端的收信能力沒有問題;客戶端
over服務端
爲何四次揮手:block
第一次:客戶端告訴服務端:我發完了,你能夠結束連接了;ps
第二次:服務端告訴客戶端:我知道了,可是我可能還有些東西須要發給你,也可能沒有東西發給你了,可是我不能馬上告訴你我會關閉連接;tar
第三次:服務端告訴客戶端:當服務端肯定本身沒有東西要發給客戶端了,就會告訴客戶端,能夠關閉連接了;
第四次:客戶端告訴服務端:好的,我關閉了,你也關閉吧,因而服務端也關閉了;
over
參考: