pj_crypto_v2/server_test_2.py
2019-11-06 17:48:42 +01:00

31 lines
1.0 KiB
Python

import asyncio, socket
from utils.keys_manager_1 import *
from utils.send_receive import *
async def handle_client(reader, writer):
request = None
quit_msg_code = b'|<--eos-->|'
(private_key,public_key) = check_for_existing_keys()
while request != quit_msg_code:
print('Receiving ans [ ... ]')
request = recv_msg(reader)
#request = (await reader.read(255)).decode('utf8')
print('Receiving ans [ OK ] {}'.format(request))
response = str(request) + '\n'
send_msg_async(writer, response)
#writer.write(response.encode('utf8'))
try:
await writer.drain()
# Prevent closed connections without 'eos'
except ConnectionResetError:
print('Connection Closed')
break
print('Received \'eos\' signal, will now close session [ ... ]')
writer.close()
print('Session closed [ OK ]')
loop = asyncio.get_event_loop()
loop.create_task(asyncio.start_server(handle_client, 'localhost', 15555))
loop.run_forever()