因爲要等待 2 個 MSL 才能最終釋放連接,所以如果這個時候程序馬上啓動,就會出現Address already in use錯誤。要過 1 分鐘以後纔可以啓動成功。如果你寫了一個 web 服務器,崩潰以後被腳本自動拉起失敗,需要等一分鐘才正常,運維可能要罵娘了。
node1:/root/test#python p2.py
Buffer size [Before]: 16384
Buffer size [Before]: 87380
alter-----------------------------------------------------------------------
16384
87380
Traceback (most recent call last):
File "p2.py", line 15, in <module>
s.bind(ip_port)#綁定地址
File "<string>", line 1, in bind
socket.error: [Errno 98] Address already in use
node1:/root/test#
node1:/root#netstat -na | grep 8080
tcp 0 0 192.168.137.2:8080 192.168.137.1:51321 TIME_WAIT
#s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
#s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 0)