1

看起来有一种方法可以使用socket.getpeername(). 但是,使用asyncio.start_server. 有没有办法为异步套接字服务器获取客户端的唯一标识符(例如 IP 地址)?

async def client_handler(reader: StreamReader, writer: StreamWriter):
    print("Client connected at {some_ip_address_or_identifier}")  # ?

async def main():
    IP = "0.0.0.0"
    PORT = 8080
    loop = asyncio.get_event_loop()
    server = await asyncio.start_server(client_handler, IP, PORT)
    await server.serve_forever()

asyncio.run(main())
4

1 回答 1

0

你可以这样做:

addr =  writer.get_extra_info('peername')

根据文档

于 2019-12-02T06:43:40.807 回答