server.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)
假如端口唄socket使用過,並且利用socket.close()來關閉連接,但此時端口還沒有釋放,要經過一個,TIME_WAIT的過程之后才能使用,這是TNN的相當煩人,為了實現端口的馬上復用,可以選擇setsocket()函數來達到目的。
舉例:TCP 端口復用的例子。
import socket
tcp1=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
tcp2=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#在綁定前調用setsockopt 讓套接字允許地址重用
tcp1=socket.socket(socket.AF_INET,socket.SOCK_STREAM,1)
tcp2=socket.socket(socket.AF_INET,socket.SOCK_STREAM,1)
#接下來兩個套接字都可以通過同一個端口進行使用
tcp1.bind(('0.0.0.1',1234))
tcp1.bind(('0.0.0.1',1234))