CC60H Nuevos Lenguajes de Programación: Java
Tarea Nro. 3

Profs.: Luis Mateu y Patricio Inostroza

En esta tarea Ud. deberá implementar y extender en funcionalidades el sistema de mensajería del control 1. Este sistema consiste en un cartero que se encarga de encaminar los mensajes, las consolas en donde se afichan los mensajes y los emisores que son los que envían mensajes.

Los comandos que Ud. debe programar son los siguientes:

Restricciones

Indicaciones

El cartero ofrece sus servicios publicando la referencia de un objeto remoto S. La consola obtiene una referencia del objeto S y lo utiliza para comunicarse con el cartero mediante llamadas remotas, cada 30 segundos. Mediante una invocación remota, la consola entrega al cartero una referencia remota de un objeto C (que vive en la consola).

El cartero invoca remotamente el objeto C cada vez que se recibe un mensaje destinado a esa consola y le entrega el nombre del emisor y el texto del mensaje.

Para cada consola que contacta el cartero se registra el nombre del usuario, la referencia del objeto C y el instante en que ocurrió el último contacto. Cuando se pide listar los usuarios o se envía un mensaje a un usuario, el cartero verifica que no hayan transcurrido más de 2 segundos desde el último contacto, de lo contrario se considera que esa consola es inválida y se borra.

En el cartero, utilice la llamada System.currentTimeMillis() para obtener el tiempo transcurrido desde el inicio del proceso (en milisegundos). En el método main de la consola invoque Thread.sleep(30000) para hacer la pausa de 30 segundos que se requiere antes de renovar la subscrición al cartero.

Cualquier tipo de consultas con respecto a este enunciado son bienvenidas en el grupo de news uch.ing.cursos.cc60h con copia a mi dirección e-mail. Yo responderé cuanto antes en el grupo y directamente al e-mail del que hace la consulta.

Plazo de entrega

La tarea se entrega impostergablemente el día Martes 28 de Mayo. Envíenme un mail con un archivo .jar que incluya los fuentes de los programas así como los binarios.