为什么 telnet 刚连上服务端就退出了?

import asyncio
from asyncio.base_events import Server


async def handle_client(reader, writer):
    while True:
        data = await reader.readline()
        if not data:
            break
        writer.write(data)
    writer.close()


async def main():
    server: Server = await asyncio.get_running_loop().create_server(
        handle_client, '127.0.0.1', 8888)

    async with server:
        await server.serve_forever()

asyncio.run(main())

用 python 的 asyncio 写了一个 demo

但是我用 telnet 连接这个 demo 的时候,会直接退出,不知道为什么?

╰─➤  telnet 127.0.0.1 8888                                                                                                           1 ↵
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
阅读 1.5k
1 个回答
async def handle_client(reader, writer):
    welcome_message = "Welcome to the server!\n"
    writer.write(welcome_message.encode())
    await writer.drain()

    while True:
        data = await reader.read(100)
        if not data:
            break
        writer.write(data)
        await writer.drain()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题