# install handler for sigint
def sigint_handler(signum, frame):
global is_sigint_up
is_sigint_up = True
print 'interrupt signal is up...'
signal(SIGINT, sigint_handler)
# main body
serv_ip = '127.0.0.1'
serv_port = 8000
serv_addr = (serv_ip, serv_port)
buff_size = 8192
conn_seconds = 0
is_sigint_up = False
print 'try to connect to echo-server %s...' % serv_id(serv_addr),
connect_again = False # connect to server again
while not is_sigint_up:
if connect_again:
print 'try to connect to echo server(%s:%d)...' % (serv_ip, serv_port),
connect_again = False
# connect to server
conn_sock = socket(AF_INET, SOCK_STREAM)
errno = conn_sock.connect_ex((serv_ip, serv_port))
if errno == 0: #succeed on connection
conn_seconds = 0
print '\nnew session with %s has started.' % serv_id(serv_addr)
else:
conn_seconds += 1
if conn_seconds > 10:
print '\nconnection is overtime!'
break