參考自:
作用:1.保證雙方正常種植資料流傳輸[最後乙個
ack丟失了,被動關閉一方會重發它的
fin,主動關閉一方必須維持乙個有效狀態資訊(timewait狀態下維持),以便能夠重發
ack,否則被動一方會認為有錯誤產生]
2.保證
在下乙個人使用的ip位址與埠與先前的完全相同的情況下,上乙個殘留的資料報,不會被下乙個人接收到(time_wait持續等待時間為2msl,確保資料丟失成功)。
問題(過多的time_wait會導致埠被占用):
使用socket.setsockopt() #so_reuseaddr 代開或關閉位址復用功能
【一般情況下,不用考慮這個time_wait,因為它的存在就是友好的】
理解tcp關閉連線中的time wait狀態
首先看一下tcp關閉連線時的四次握手過程 1.client向server傳送fin包,表示client主動要關閉連線,然後進入fin wait 1狀態,等待server返回ack包。此後client不能再向server傳送資料,但能讀取資料。2.server收到fin包後向client傳送ack包,...
Tcp主動關閉連線導致TIME WAIT狀態
最近寫了乙個程序,需要通過20個執行緒迴圈600個使用者獲取每乙個使用者的xx資訊,是通過socket連線oracle mdb伺服器獲取的,但是在本機windows上測試發現大量的time wait狀態,按照網上的說法,調了登錄檔的引數,但是無濟於事,socket.setreuseaddress方法...
TCP連線中TIME WAIT連線過多
原文 主題tcp ip socket timewait並不是多餘的 在tcp協議被創造,經歷了大量的實際場景實踐之後 timewait 出現了,因為tcp主 動關閉連線的一方需要timewait狀態,它是我們的朋友。這是 unix網路程式設計 的作者 steven對timewait的態度。tcp要保...