[ACCEPTED]-SocketServer.ThreadingTCPServer - Cannot bind to address after program restart-tcpserver
Accepted answer
The above solution didn't work for me but 1 this one did:
SocketServer.ThreadingTCPServer.allow_reuse_address = True
server = SocketServer.ThreadingTCPServer(("localhost", port), CustomHandler)
server.serve_forever()
In this particular case, .setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
may be called 4 from the TCPServer class when the allow_reuse_address
option 3 is set. So I was able to solve it as follows:
httpd = SocketServer.ThreadingTCPServer(('localhost', port), CustomHandler, False) # Do not automatically bind
httpd.allow_reuse_address = True # Prevent 'cannot bind to address' errors on restart
httpd.server_bind() # Manually bind, to support allow_reuse_address
httpd.server_activate() # (see above comment)
httpd.serve_forever()
Anyway, thought 2 this might be useful. The solution will 1 differ slightly in Python 3.0
Source:
stackoverflow.com
More Related questions
Cookie Warning
We use cookies to improve the performance of the site. By staying on our site, you agree to the terms of use of cookies.