您好,登錄后才能下訂單哦!
TIME_WAIT狀態下,修改socket選項后,bind端口會失敗,即使使用的是SO_REUSEADDR或者SO_REUSEPORT模式
*********************************
tcp 0 0 127.0.0.1:81 127.0.0.1:56850 TIME_WAIT
*********************************
tcp 0 0 127.0.0.1:81 127.0.0.1:56850 TIME_WAIT
*********************************
tcp 0 0 127.0.0.1:81 127.0.0.1:56850 TIME_WAIT
*********************************
tcp 0 0 127.0.0.1:81 127.0.0.1:56850 TIME_WAIT
如上,進程退出后,只要還有TIME_WAIT存在(2MSL后才消失),切換socket選項去bind端口都不會成功,比如SO_REUSEADDR和SO_REUSEPORT兩個模式變化切換。
解決方法就是把tcp_timestamp,tcp_reuse,tcp_recycle三個變量全部設置為1,這樣TIME_WAIT在進程退出后會迅速回收。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。