1. Classe servidor d’eco

La classe ServidorEco escolta connexions TCP i manté un recompte de quants clients s’han connectat des de l’inici del servei. Per cada connexió, el servidor ha de retornar al client cada línia de text rebuda. La implementació del servdor s’ha de basar en asyncio.streams.

Dissenya la classe següent i desa-la al mòdul eco_classe (fitxer eco_classe.py).

class eco_classe.ServidorEco(host: str, port: int)

Servidor d’eco que escolta pel port del host. Manté un comptador de clients connectats.

Atributs

nombre_clients: int

Nombre de clients connectats des que s’ha engegat el servidor.

Mètodes

async gestiona_eco(reader: asyncio.StreamReader, writer: asyncio.StreamWriter)

Incrementa nombre_clients, llegeix línia a línia de reader i respon per writer el mateix missatge que ha rebut fins que la connexió del reader es tanca. Tanca el writer i decrementa nombre_clients.

async serveix()

Engega el servidor i el manté actiu. Ha de garantir un tancament net del servidor.

Tests

La teva solució ha de passar els tests de test_eco_classe.py.