直播軟件APP,網(wǎng)絡(luò)通信握手次數(shù)有什么講究
網(wǎng)絡(luò)通信的傳輸握手次數(shù),基本都在三次以上,三次或四次是最常見的次數(shù),為什么這么設(shè)計呢?原因在于握手次數(shù)對傳輸?shù)谋U希覀儊砜匆幌隆?/p>
?

一、三次握手
1、直播軟件APP的TCP服務(wù)器進程先創(chuàng)建傳輸控制塊TCB,時刻準備接受客戶進程的連接請求,此時服務(wù)器就進入了監(jiān)聽狀態(tài)
2、TCP客戶進程也是先創(chuàng)建傳輸控制塊TCB,然后向服務(wù)器發(fā)出連接請求報文,這是報文首部中的同部位,同時選擇一個初始序列號,此時,TCP客戶端進程進入了同步已發(fā)送狀態(tài),TCP規(guī)定,SYN報文段不能攜帶數(shù)據(jù),但需要消耗掉一個序號
3、直播軟件APP的TCP服務(wù)器收到請求報文后,如果同意連接則發(fā)出確認報文,同時也要為自己初始化一個序列號,此時TCP服務(wù)器進程進入了同步收到狀態(tài),這個報文也不能攜帶數(shù)據(jù),但是同樣要消耗一個序號
4、TCP客戶進程收到確認后,還要向服務(wù)器給出確認,此時TCP連接建立,客戶端進入已建立連接狀態(tài),TCP規(guī)定,ACK報文段可以攜帶數(shù)據(jù),如果不攜帶數(shù)據(jù)則不消耗序號
5、當服務(wù)器收到客戶端的確認后,也進入已建立連接狀態(tài),此后雙方就可以開始通信了
?

二、四次握手
1、客戶端進程發(fā)出連接釋放報文,并且停止發(fā)送數(shù)據(jù),釋放數(shù)據(jù)報文首部,此時直播軟件APP進入終止等待狀態(tài)
2、服務(wù)器收到連接釋放報文,發(fā)出確認報文,此時服務(wù)端進入關(guān)閉等待狀態(tài),TCP服務(wù)器通過高層的應(yīng)用進程,客戶端向服務(wù)器的方向進行釋放,這時候處于半關(guān)閉狀態(tài),即客戶端已經(jīng)沒有數(shù)據(jù)要發(fā)送了,但是服務(wù)器若發(fā)送數(shù)據(jù),客戶端依然接受
3、客戶端收到服務(wù)器的確認請求后,客戶端進入終止等待狀態(tài),等待直播軟件APP服務(wù)發(fā)送連接釋放報文
?

4、服務(wù)器將最后的數(shù)據(jù)發(fā)送完畢后,就像客戶端發(fā)送連接釋放報文
5、客戶端收到服務(wù)器的連接釋放報文后,必須發(fā)出確認,直播軟件APP客戶端進入到時間等待狀態(tài),必須經(jīng)過長報文段壽命后,客戶端才會撤銷相應(yīng)的TCB
6、服務(wù)器只要受到了直播軟件APP客戶端發(fā)出的確認,立即進入狀態(tài),在撤銷TCB后,就結(jié)束了這次TCP連接
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責任