Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
oorrja
GitHub Repository: oorrja/learntosolveit
Path: blob/master/languages/python/asyncio_examples/tcp_echo_server.py
1240 views
1
import asyncio
2
3
async def handle_echo(reader, writer):
4
data = await reader.read(100)
5
message = data.decode()
6
addr = writer.get_extra_info('peername')
7
print(("Received %r from %r" % (message, addr)))
8
9
print(("Send: %r" % message))
10
writer.write(data)
11
await writer.drain()
12
13
print("Close the client socket")
14
writer.close()
15
16
loop = asyncio.get_event_loop()
17
coro = asyncio.start_server(handle_echo, '127.0.0.1', 8888, loop=loop)
18
server = loop.run_until_complete(coro)
19
20
# Serve requests until Control+C is pressed
21
print(("Serving on {}".format(server.sockets[0].getsockname())))
22
23
try:
24
loop.run_forever()
25
except KeyboardInterrupt:
26
pass
27
28
# close the server
29
server.close()
30
loop.run_until_complete(server.wait_closed())
31
loop.close()
32
33