On Tue, Jun 10, 2014 at 4:08 PM, Jon Engle <jon.en...@gmail.com> wrote: > Ok, so when I run the code it immediately terminates and never 'listens' to > the ports in the loop. I have verified by running netstat -an | grep 65530 > and the startingPort is not binding.
The problem is that all threads started by a program terminate when the program terminates - and you haven't told your program to stick around when it's done setting up. So it's setting up and then immediately exiting - and by the time you run netstat a few seconds later you find nothing. (Also, by leaving HOST = '', you're listening at address 0.0.0.0, so good luck catching any traffic...) Try something like this: #!/usr/bin/python # This is server.py file from socket import * #import the socket library import thread #import the thread library def setup(PORT): HOST = '127.0.0.1' #we are the host ADDR = (HOST,PORT) #we need a tuple for the address BUFSIZE = 4096 #reasonably sized buffer for data serv = socket( AF_INET,SOCK_STREAM) serv.bind((ADDR)) #the double parens are to create a tuple with one element serv.listen(5) #5 is the maximum number of queued connections we'll allow print '\nlistening on port %i...' % PORT conn,addr = serv.accept() #accept the connection print '\n...port %i connected!' % PORT conn.send('TEST') conn.close() def main(): startingPort=int(raw_input("\nPlease enter starting port: ")) for port in range (startingPort, 65535): thread.start_new_thread(setup, (port,)) quitNow = '' while quitNow not in ('Q', 'q'): quitNow = raw_input('Enter Q to quit.') if __name__ == '__main__': main() This will stick around until you enter 'Q', and if you run netstat in another window you'll see that it's LISTENING on all the ports you asked for. (All of those print statements will show up in a surprising order!) I'm not running the other side of this experiment, so I haven't tested a successful connection... good luck. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor