socket bindings

Nathan Clegg nathan at
Tue Jun 15 20:44:47 CEST 1999

I have a server application that binds itself to a specified port and
waits for connections.  It handles all connections fine and quits cleanly
after closing all of the connected sockets as well as the listening
socket.  However, if I start the application again, it will die, saying
the address is already bound to.  If I wait 2-3 minutes, the port will
become available again.  I can "solve" this by implementing a loop that
continues until the socket binds successfully, but this seems a little
klunky.  Can anyone tell me why the socket might not be correctly
releasing itself?  Relevant code follows:

    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    connected = None
    while not connected:
            server.bind('', PORT)
            connected = 1
        except socket.error:
    server.listen(128)  # let the OS determine the limit
    print 'Listening...'

# code making connections deleted


Nathan Clegg
 nathan at

More information about the Python-list mailing list