Thank you for your help, this definitely gets me going in the right direction!
On Wed, Jun 11, 2014 at 4:16 AM, Marc Tompkins <marc.tompk...@gmail.com> wrote: > 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. > -- Cheers, Jon S. Engle jon.en...@gmail.com
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor