9.13 Ejemplos de utilización

Para ejecutar correctamente esta aplicacion debemos lanzar modulator en el host que posee la tarjeta de sonido. El/los cliente/s que controla/n la frecuenia de la portandora puede/n ejecutarse también es ese host o en cualquier otro host de Internet.

Como se puede ver en el código de modulator.c, el socket que hemos creado para controlar la frecuencia acepta una cadena de caracteres que representan un número entero. Puesto que dicha cadena está en formato ASCII, podemos usar el programa estándar telnet para controlar la frecuencia de la portadora. Para hacer esto escribiremos:

telnet host_que_ejecuta_modulator PORT

donde PORT es el puerto de escucha, definido en el fichero modulator.c. Tras establecer la conexión podremos cambiar la frecuencia tecleando una nueva (y pulsando la tecla Enter). La otra forma de controlar la frecuencia consiste en usar FreqControl. Para ejecutar este programa escribieremos:

java FreqControl host_que_ejecuta_modulator

en el directorio que contiene las clases compiladas (los ficheros .class).

Por supuesto, es necesita una máquina virtual de Java instalada en cada host cliente.

Bueno, estos son algunos ejemplos interesantes:

  1. Generando una sinusoide y controlando su frecuencia con telnet:
    localhost$ dc | modulator | aplay -f cd -t raw  
    localhost$ telnet localhost 6789

  2. Generando una sinusoide y controlando su frecuencia con FreqControl:
    localhost$ dc | modulator | aplay -f cd -t raw  
    localhost$ java FreqControl localhost

  3. Generando una sinusoide, controlando su frecuencia con FreqControl y visualizando el espectro:
    localhost$ dc | modulator | java RTASA  
    localhost$ java FreqControl localhost

  4. Modulando en la máquina local:
    localhost$ arecord -f cd -t raw | modulator | aplay -f cd -t raw  
    localhost$ java FreqControl localhost

  5. Modulando desde una máquina remota:
    host_remoto$ arecord -f cd -t raw | modulator | aplay -f cd -t raw  
    localhost$ java FreqControl host_remoto

  6. Modulando desde varias máquinas:
    host_remoto$ arecord -f cd -t raw | modulator | aplay -f cd -t raw  
    host_remoto$ java FreqControl localhost  
    localhost$ java FreqControl host_remoto