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
/quitcierra 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.
