Cómo integrar la arquitectura cliente-servidor con una interfaz gráfica: dónde viven los sockets, servidor como función vs como clase, y la flexibilidad de QThread o threading.
El servidor responde con un _string_ que puede ser 'adelantar', 'retroceder' o un número como _string_ (ej. '1237444123'). Según cuál de las 3 respuestas reciba, el cliente la procesa y actualiza la hora.
Cuando el comportamiento es más rico (varios comandos y argumentos), enviar un diccionario con key/arg es más ordenado que mandar strings sueltos: el receptor sabe exactamente qué acción y qué dato llegaron.