import asyncio async def manejar_cliente(reader, writer): addr = writer.get_extra_info('peername') print(f"📡 Conexión desde {addr}") while True: data = await reader.read(100) if not data: print(f"❌ Cliente {addr} desconectado") break mensaje = data.decode() print(f"📨 Mensaje de {addr}: {mensaje}") writer.write(f"✅ Recibido: {mensaje}".encode()) await writer.drain() writer.close() await writer.wait_closed() async def main(): server = await asyncio.start_server(manejar_cliente, '127.0.0.1', 8888) addr = server.sockets[0].getsockname() print(f"🚀 Servidor escuchando en {addr}") async with server: await server.serve_forever() asyncio.run(main())