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