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))