Python socket issue

I am trying to use a stream socket server

self.server = SocketServer.ThreadingTCPServer( ( HOST, PORT ), MCRequestHandler ) 

and destructor

 def __del__( self ): self.server.shutdown(); self.server.server_close() print( 'Server closed ! ' ); 

When I close the GUI, the del function is called, but if I want to run the program again, I get the following error message

 socket.error: [Errno 98] Address already in use Exception AttributeError: "'MCCommunication' object has no attribute 'server'" in <bound method MCCommunication.__del__ of <MCCommunication.MCCommunication object at 0x26867c0>> ignored 
+4
source share
1 answer

Create a subclass of TCPServer and add it to it:

 class TCPServer(SocketServer.TCPServer): allow_reuse_address = True 

Basically the same as setsockopt , but simpler.

+3
source

All Articles