import socket
import sys
import time
import select

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

server_address = ('localhost', 10000)
print ' [*] Connection to %s port %s' % server_address
sock.connect(server_address)

try:
    while True:
        rdrs, wrtrs, err = select.select([sys.stdin, sock], [], [], 600)
        for i in rdrs:
            if i == sys.stdin:
                message = raw_input ('')
                if message == "BYE" or message == "quit":
                    sock.close()
                    sys.exit()
                else:
                    sock.sendall(message)
            elif i == sock:
                data = sock.recv(512)
                if data:
                    print data
                else: #no data came
                    print ' [****] Server has closed connection '
                    sys.exit()
        #        print '    [*] Received "%s"' % data
finally:
    print '    [*] Closing socket'
    sock.close()
    sys.exit()
        
