[issue43742] tcp_echo_client in asyncio streams example does not work. Hangs for ever at reaser.read()

Jonathan Schweder report at bugs.python.org
Mon May 3 14:49:51 EDT 2021


Jonathan Schweder <jonathanschweder at gmail.com> added the comment:

I was able to execute the example in Debian 10 + Python 3.10+

Did you execute the server too? You need to create two files, one for the client code and one for the server code, the server as specified by the example should be something like the code below, try to save it to a file, then execute it, after that execute the client example that you have cited.

import asyncio

async def handle_echo(reader, writer):
    data = await reader.read(100)
    message = data.decode()
    addr = writer.get_extra_info('peername')

    print(f"Received {message!r} from {addr!r}")

    print(f"Send: {message!r}")
    writer.write(data)
    await writer.drain()

    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())

----------
nosy: +jaswdr

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue43742>
_______________________________________


More information about the Python-bugs-list mailing list