El fujo de datos desde los clientes al servidor se realiza usando el TCP y por tanto hay que establecer una conexión por cada cliente. Dichas conexiones permanecerán abiertas todo el tiempo que deseen los clientes. Cuando se reciba una frecuencia se enviará por el canal multicast dicha frecuencia a todos los clientes que escuchan en dicho canal. El servidor no sabe cuántos clientes existen (aunque podría hacer una suposición razonable contando el número de conexiones TCP abiertas). Las frecuencias se codificarán en ASCII, para que pueda usarse el programa telnet como cliente. Para indicar el final de una conexión el cliente enviará una frecuencia negativa (una frecuencia imposible) al servidor.
A continuación aparece un resumen de la interacción cliente-servidor en seudo-código:
Clientes Servidor
------------------------------ ---------------------------------- Conectar Esperar conexión Mientras conexión abierta: Mientras frecuencia recibida >= 0: Recibir frecuencia Enviar frecuencia Enviar frecuencia Recibir frecuencia Enviar frecuencia negativa Cerrar conexión Cerrar conexión |
Nota: la recepción es bloqueante, es decir, mientras no se reciben los datos esperados la ejecución está detenida.