25 lines
852 B
Python
25 lines
852 B
Python
import asyncio, socket
|
|
|
|
async def handle_client(reader, writer):
|
|
request = None
|
|
quit_msg_code = b'|<--eos-->|'
|
|
while request != quit_msg_code:
|
|
print('Receiving ans [ ... ]')
|
|
request = (await reader.read(255)).decode('utf8')
|
|
print('Receiving ans [ OK ] {}'.format(request))
|
|
response = str(request) + '\n'
|
|
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()
|