Aprende a montar una comunicación bidireccional: el cliente y el servidor pueden enviar mensajes alternando lectura/escritura con un protocolo de líneas.
Comunicación bidireccional con sockets TCP

En una comunicación bidireccional “tipo chat”, ambos extremos pueden enviar mensajes. El truco es definir un formato simple (por ejemplo, mensajes terminados en \n) y acordar cuándo se cierra.

1) Protocolo por líneas

  • Cada mensaje termina con \n.
  • El comando /quit cierra la sesión.

2) Patrón de bucle (servidor)

# idea simplificada
while True:
    line = recv_line(conn)
    if not line or line == "/quit":
        break
    print("Cliente:", line)
    conn.sendall(b"OK\n")

3) Recomendación: threads para lectura/escritura

En aplicaciones reales, es común separar lectura y escritura en hilos para no bloquear la UI o la entrada del usuario.