# python server

import socket  
myHost = ''
myPort = 2000

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # allow reuse of address
s.bind((myHost, myPort))
s.listen(2)   # 2 connectinos at once

sawQuit = False;

try:

    while True:
        print 'Waiting for connection at port', myPort, '.'
        connection, address = s.accept()
        print 'Connection made.'

        while True:
            data = connection.recv(1024)
            if data:
                print 'I received the message:', data
                connection.send('echo -> ' + data) # echo it back
            else:
                break # from inner loop

            if data=='quit':
                print 'quit requested from client'
                sawQuit = True;
                break

        connection.close()
        if sawQuit:
            break;
    
except:
    
    print '\n\nServer shutdown.'
