Initial code commit.
This commit is contained in:
parent
9af31059be
commit
ab312c16ef
1 changed files with 79 additions and 0 deletions
79
isc
Executable file
79
isc
Executable file
|
|
@ -0,0 +1,79 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
#import pprint
|
||||
import datetime
|
||||
import socket
|
||||
import sys
|
||||
import time
|
||||
|
||||
now = int(time.time())
|
||||
|
||||
|
||||
// TODO: enable interactive mode via param (-i)
|
||||
// make logging optional (-l)
|
||||
|
||||
def log(string):
|
||||
current = datetime.datetime.now()
|
||||
print('[' + str(current) + '] ' + string, end='')
|
||||
with open(str(now) + '-client.log', 'a') as f:
|
||||
f.write('[' + str(current) + '] ' + string)
|
||||
|
||||
|
||||
def connect(host, port):
|
||||
print('[' + str(datetime.datetime.now()) + '] + 'Connecting to: ' + host + ':' + str(port))
|
||||
client = socket.socket()
|
||||
client.settimeout(2)
|
||||
while True:
|
||||
try:
|
||||
client.connect((host, port))
|
||||
break
|
||||
except Exception as err:
|
||||
print('[' + str(datetime.datetime.now()) + '] ' + 'Connection error: {0}'.format(err))
|
||||
print('[' + str(datetime.datetime.now()) + '] ' + 'Retrying...')
|
||||
time.sleep(1)
|
||||
|
||||
return client
|
||||
|
||||
|
||||
def client(host, port):
|
||||
|
||||
#pp = pprint.PrettyPrinter(indent=4)
|
||||
|
||||
client = connect(host, port)
|
||||
|
||||
#message = input(" -> ") # take input
|
||||
|
||||
while True:
|
||||
#client.send(message.encode())
|
||||
#print(client)
|
||||
|
||||
try:
|
||||
data = client.recv(1024).decode()
|
||||
log('Received from server: ' + data)
|
||||
|
||||
except Exception as err:
|
||||
print('[' + str(datetime.datetime.now()) + '] ' + 'Connection error: {0}'.format(err))
|
||||
#client = connect(host, port)
|
||||
while True:
|
||||
try:
|
||||
print('[' + str(datetime.datetime.now()) + '] ' + 'Reconnecting...')
|
||||
client = connect(host, port)
|
||||
break
|
||||
except Exception as err:
|
||||
print('[' + str(datetime.datetime.now()) + '] ' + 'Reconnect error: {0}\n'.format(err))
|
||||
sleep(1)
|
||||
|
||||
#message = input(" -> ") # again take input
|
||||
print('[' + str(datetime.datetime.now()) + '] ' + 'Closing connection...')
|
||||
client.close()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if len(sys.argv) < 3:
|
||||
print('No host and or port set! Aborting...\n\nCommand:\n./client.py IP PORT\nExample:\n ./client.py 127.0.0.1 2342')
|
||||
exit(-1)
|
||||
else:
|
||||
host = sys.argv[1]
|
||||
port = sys.argv[2]
|
||||
client(host, int(port))
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue