Created by
Masaaki Shibata
| import asyncio
from asyncio import StreamReader, StreamWriter
async def client_connected(reader: StreamReader, writer: StreamWriter) -> None:
peername = writer.get_extra_info('peername')
print(f'connected: {peername}')
while True:
try:
data = await reader.readuntil()
except asyncio.IncompleteReadError as e:
print('IncompleteReadError occured.')
break
writer.write(data)
await writer.drain()
writer.close()
await writer.wait_closed()
print(f'closed: {peername}')
async def main() -> None:
server = await asyncio.start_server(client_connected, 'localhost', 6000)
async with server:
await server.serve_forever()
if __name__ == '__main__':
try:
asyncio.run(main())
except KeyboardInterrupt as e:
pass
|