In article <[EMAIL PROTECTED]>, Gabriel Genellina <[EMAIL PROTECTED]> wrote:
> On 2 mar, 17:21, [EMAIL PROTECTED] wrote: > > > This worked: > > > > import socket > > from time import time > > > > for i in range( 20 ): > > HOST = '' > > PORT = 80 #<---- > > s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) > > s.bind((HOST, PORT)) > > print( 'listen' ) > > s.listen(1) > > conn, addr = s.accept() > > print( 'connected', addr ) > > print( conn.recv( 4096 ) ) #<---- > > conn.send( bytes('<html><body>test %f</body></ > > html>'%time(),'ascii') ) > > conn.close() #<---- > > s.close() > > > > ... and connect with a browser: http://localhost/if it's internet > > exploder. > > Note that there is no need (nor is desirable) to close and rebind the > listening socket for each connection. I'd say, "nor is desirable", is an understatement. On most systems, an attempt to re-bind to a given port number soon after it was unbound will fail (unless you utter magic ioctl incantations). This will manifest itself in the s.bind() call raising an exception on the *second* pass through the loop.
-- http://mail.python.org/mailman/listinfo/python-list