計算機網絡的TCP連接

1.網絡連接的建立:三次握手階段

客戶端(SYN i)——>服務器端(ACK i+1,SYN j)——>客戶端(SYN j+1)

2.網絡連接的斷開:四次握手階段

客戶端(FIN)——>服務器端(ACK)——>服務器端(FIN)——>客戶端(ACK)


在網絡連接建立和斷開過程中,客戶端和服務器端的狀態變化過程如下所示:

1.客戶端,CLOSED——>SYN_SENT——>ESTABLISHED——>FIN_WAIT1——>FIN_WAIT2——>TIME_WAIT(2MSL等待狀態)——>CLOSED

2.服務器端,CLOSED——>LISTEN——>SYN收到——>ESTABLISHED——>CLOSE_WAIT——>LAST_ACK——>CLOSED


在關閉網絡連接時,可使用shutdown函數或者close函數,closesocket,shutdown所進行的TCP行爲是一樣的,所不同的是函數部分,shutdown會確保 windows建立的數據傳輸隊列中的數據不被丟失,而closesocket會冒然的拋棄所有的數據,因此如果你願意closesocket完全可以取代shutdown,然而在數據交互十分複雜的網絡協議程序中,最好還是shutdown穩妥一些

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章