Skip to content

Instantly share code, notes, and snippets.

@ankitml
Created February 14, 2019 14:49
Show Gist options
  • Save ankitml/8a1d974d81e1ba49f19052b2b357b6d4 to your computer and use it in GitHub Desktop.
Save ankitml/8a1d974d81e1ba49f19052b2b357b6d4 to your computer and use it in GitHub Desktop.
IPC through tcp in python (server)
import asyncio
import random
async def handle_echo(reader, writer):
while True:
data = await reader.readline()
message = data.decode()
addr = writer.get_extra_info('peername')
print(f"Received {message!r} from {addr!r}")
message = f'pong{random.randint(0,10)}\n'
response = message.encode()
writer.write(response)
await writer.drain()
if reader.at_eof():
break
print("Close the connection")
writer.close()
async def main():
server = await asyncio.start_server(
handle_echo, '127.0.0.1', 8888)
addr = server.sockets[0].getsockname()
print(f'Serving on {addr}')
async with server:
await server.serve_forever()
asyncio.run(main())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment