ICD-326 Seminario I
Tarea 2: charla

Nombre
                charla_srv    -    Servidor para una charla
                charla    -    cliente para establecer conversaciones con aquellos conectados al servidor de esa charla.

Sintaxis
                charla_srv [número_de_puerta]
                charla   <nombre_participante> <número_de_puerta> [máquina_del_servidor]

Descripción
    charla es una aplicación distribuida que permite el intercambio de mensajes en tiempo real entre varios usuarios. Esta aplicación se compone de un servidor central (charla_srv) y multiples clientes (charla). Hay un cliente charla corriendo en cada uno de los participantes de la conversación. El servidor normalmente será corrido en trasfondo (background) y debe permanecer corriendo al menos durante toda la sesión. Hay un servidor corriendo por cada sesión.
    Los participantes ejecutan charla para conectarse e incorporarse a una discusión. charla utiliza dos ventanas (xterm o equivalente). En una, desde donde se corre charla,  acepta mensajes por la entrada estándar y los distribuye a todos los participantes. En la otra ventana, que debe ser creada por charla, el cliente puede ver los mensajes que son enviados por cualquiera de los participantes de la sesión. El formato de salida de los mensajes es como sigue:
<nombre del participante k>:<mensaje enviado por k>
<nombre del participante z>:<mensaje enviado por z>
:
:
Opciones
    charla_srv tiene el número de puerta como opcional. Si no es ingresado, el servidor se instala en una puerta asignada por el sistema y la comunica por su salida estándar.
    charla asume que sel servidor corre en la máquina local si el último argumento no es entregado.

Ejemplo
    En una ventana (telenet o xterm)
% charla_srv
charla_srv acepta conexiones en puerta 1056.
^z
%bg
%

    En otra ventana
% charla Agustin 1056
> Hola muchachos !!!
> Quien ha terminado la tarea?
 

En otra ventana creada por charla se ve algo como (asumo hay otro usuario corriendo charla desde otra parte. Para ello yo le comuniqué la puerta en que atiende mi servidor):

Agustin: Hola muchachos !!!
Agustin: Quien ha terminado la tarea?
Superman: Yo ya estoy trabajando en la tarea 3. Me tiene preocupado el projecto.
Superman: El preoyecto compila pero no corre :(