Descripción
En la entrega de tareas vía correo electrónico en ramos como Estructura de Datos y
Algoritmos (EDA) y Diseño y Programación Orientada a Objetos (DPOO) existe una constante
incertidumbre al enviar las tareas por este método, pues no se sabe si la tarea
habrá llegado a destino o si el correo será rebotado, entre otras cosas.
De ahí que surge la necesidad de poseer un medio más seguro y confiable
para poder realizar la entrega de las tareas.
Solución
Implementación
Se separó el problema en dos partes, un cliente y un servidor.El Cliente (código) presenta una interface que permite al usuario escoger que archivo desea enviar. Luego el applet se comunica por medio de un socket con el cliente, para posteriormente proceder a enviarle el archivo.
Así mismo, el Cliente muestra en una zona de texto, diversos mensajes para indicar al usuario el estado de la operación, o si ha ocurrido algún problema.
A continuación se ve el diagrama del clases del cliente:

El Servidor (código) implementa un ServerSocket para estar escuchando un puerto, y al realizarse una conexión crea un Thread que recibe la información enviada por el cliente, esta información es: tamaño del archivo, el archivo y el nombre de archivo, en ese orden. Primero crea un archivo temporal en base al número de Thread y luego lo renombra al nombre del archivo original, para al final guardar todos los datos antes dichos en un archivo de texto.
A continuación se ve el diagrama del clases del server:
