Path: blob/master/languages/python/asyncio_examples/tcp_echo_server.py
1240 views
import asyncio12async def handle_echo(reader, writer):3data = await reader.read(100)4message = data.decode()5addr = writer.get_extra_info('peername')6print(("Received %r from %r" % (message, addr)))78print(("Send: %r" % message))9writer.write(data)10await writer.drain()1112print("Close the client socket")13writer.close()1415loop = asyncio.get_event_loop()16coro = asyncio.start_server(handle_echo, '127.0.0.1', 8888, loop=loop)17server = loop.run_until_complete(coro)1819# Serve requests until Control+C is pressed20print(("Serving on {}".format(server.sockets[0].getsockname())))2122try:23loop.run_forever()24except KeyboardInterrupt:25pass2627# close the server28server.close()29loop.run_until_complete(server.wait_closed())30loop.close()313233