Está en la página 1de 2

Tarea

Sockets

Enunciado

En esta tarea, usted crear una breve aplicacin que utiliza el esquema cliente servidor
usando sockets, especficamente en el lenguaje Java. Para esto, deber implementar un cliente
para la aplicacin TareaCloud, cuyo servidor se encuentra activo en la direccin IP
146.83.196.204, escuchando peticiones en el puerto 5000, a travs de un socket TCP.

Los clientes que se comuniquen con el servidor deben seguir el siguiente protocolo:

1) Una vez conectado al servidor, este dar un mensaje de bienvenida de la forma
BIENVENIDO: aaaaa, donde aaaa corresponde a un string no mayor a 300 caracteres,
que debe ser desplegado por su aplicacin. Una vez enviado el mensaje de bienvenida, el
servidor espera 30 segundos antes de cerrar la conexin, tiempo durante el cual usted
debe solicitar una conexin privada.. Cualquiera otra respuesta del servidor, deber ser
considerada como error, mostrndose por pantalla y dando por terminada la aplicacin.
2) El cliente solicita la conexin privada enviando el mensaje: CONEXION
3) El servidor responde OK TCP 5xxx o bien OK UDP 6xxx , donde xxx corresponde a un
numero entre 500 y 900, correspondiente a un socket privado para dicho cliente, lo que
significa que el cliente se debe conectar al servidor usando el protocolo indicado (TCP o
UDP), en el puerto indicado. Despus de enviar este mensaje, el servidor cierra la conexin
a. Si la respuesta fue OK TCP 5xxx, el servidor abrir un socket TCP en el puerto
5xxx por 30 segundos, a la espera de una conexin para continuar con el trabajo.
b. Si la respuesta fue OK UDP 6xxx, el servidor abrir un socket UDP en el puerto
6xxx por 30 segundos, a la espera de una conexin para continuar con el trabajo.
c. Cualquiera otra respuesta del servidor, deber ser considerada como error,
mostrndose por pantalla el mensaje correspondiente y dando por terminada la
aplicacin.
4) Cuando inicie la conexin en el socket privado, el cliente debe enviar el mensaje GRUPO
y, donde y corresponde a la cantidad de alumnos que componen el grupo y es un nmero
entre 1 y 9.
5) La respuesta del servidor ser OK. Cualquiera otra respuesta del servidor, deber ser
considerada como error, mostrndose por pantalla y dando por terminada la aplicacin
6) Una vez recibido el mensaje OK, el cliente deber enviar el nombre de cada uno de los
integrantes, con un largo mximo de 300 caracteres. Por cada uno de los mensajes, el
servidor responder OK. Cualquiera otra respuesta del servidor, deber ser considerada
como error, mostrndose por pantalla y dando por terminada la aplicacin. Esta operacin
deber repetirse y veces. (y es el valor del punto anterior).
7) Para terminar la conexin, el cliente enviar el mensaje FIN y esperar la respuesta OK
zzzz, donde zzz corresponde a un nmero identificador de la transaccin el cual deber
ser desplegado por pantalla, con 0 < zzz < 99999. Cualquiera otra respuesta del servidor,
deber ser considerada como error, mostrndose por pantalla y dando por terminada la
aplicacin

Implementacin

Usted deber implementar solamente el cliente de la aplicacin. NO DEBE IMPLEMENTAR


EL SERVIDOR. Su cliente deber ser escrito en Java, y deber funcionar mediante consola. Una
vez iniciado el cliente, este deber preguntar el nmero de integrantes y luego cada uno de los
nombres, para luego realizar la conexin y proceder al envo de informacin de los clientes,
indicando finalmente el nmero de la transaccin realizada.

Entrega

El trabajo se puede realizar de forma individual o en pareja, (pudiendo ser los integrantes
de distintas secciones). Debe entregar su cdigo comentado, el cual debe ser subido a Moodle
antes de las 23:50 del da viernes 12 de diciembre. No olvide incluir como comentarios de cdigo,
el nombre de los integrantes, y el cdigo de una transaccin exitosa.

Evaluacin


Su tarea ser evaluada usando el mismo servidor descrito anteriormente, pero con distintos
casos de prueba, los que, junto con la programacin darn la nota final. Se recomienda que usted
pruebe tambin usando este servidor y tome en consideracin los casos de prueba posibles.
Adems, es importante considerar lo siguiente:
Si no compila, su tarea tendr nota 1.0
Si su aplicacin no sigue el protocolo, tendr nota 1.0
Si su aplicacin se cae, por error, o por una excepcin no capturada, tendr nota 2.0
Si su aplicacin no realiza ningn caso de prueba, tendr nota 2.0

Observaciones

Es su responsabilidad verificar el horario de Moodle y el de su computador, as como


tomar las medidas de resguardo necesarias para asegurar que su trabajo sea enviado antes
de que se cierre el mdulo de entrega.
Es su responsabilidad velar por el funcionamiento del servidor de prueba. Si este se
encuentra cado, debe enviar un correo a mpincheir@ubiobio.cl avisando este problema.
El servidor guardar un registro de las conexiones de prueba, y las transacciones
realizadas. Es requerimiento que su aplicacin haya realizado al menos una prueba exitosa
(ese registro de transaccin debe incluirse al momento de subir su documento).

También podría gustarte