|
1 | | -# Local file distribution system |
| 1 | +# LFDS: Local File Distribution System |
2 | 2 |
|
3 | | -Aplicación client-servidor fundamentada en programación socket que permite la distribución de cualquier tipo de fichero o directorio a cualquier ordenador de la red local. |
| 3 | +LFDS es una aplicación que permite tanto recibir como enviar cualquier tipo de archivo (audio, imagen, texto, estructuras complejas de directos...) a cualquier equipo o equipos pertenecientes a la red interna con capacidad para manejar más de 50 transferencias en paralelo. |
4 | 4 |
|
| 5 | + |
5 | 6 |
|
6 | 7 | ## Como descargarlo y ejecutarlo |
7 | 8 | 1. Descargar la última versión de ejecutable (*Local File Distribution System-x.x.exe*) en la pestaña de release. |
8 | 9 | 2. Lanzar el ejecutable para instalar la aplicación. |
9 | 10 |
|
10 | 11 | La aplicación es instalada en la ruta *C:\Program Files\Local File Distribution System* y crea automáticamente un <b>acceso directo en el menú Windows y en el escritorio.</b> |
| 12 | +## Motivación |
| 13 | +La idea de crear esta aplicación surge de la necesidad de enviar de forma concurrente ficheros de gran tamaño a varios equipos pertenecientes a la red interna. <br> |
11 | 14 |
|
| 15 | +Con esta aplicación <b>se busca ofrecer una alternativa al uso de dispositivos USB, el uso del correo electrónico, de google drive, de dropbox o incluso de recursos compartidos para transferir archivos desde un equipo a otro.</b> <br> |
| 16 | +También se pretende facilitar el envío de archivos problemáticos como por ejemplo ejecutables, código ... |
12 | 17 | ## Funcionalidades |
| 18 | +Las funcionalidades de la aplicación están presentadas al usuario en cuatro paneles, cada panel encapsula una funcionalidad concreta. <br> |
| 19 | +Esta separación está diseñada para favorecer un uso intuitivo y sencillo.<br> |
| 20 | + |
13 | 21 | ### Panel de hosts |
14 | | -Panel que permite la interación con la lista de contactos que maneja la aplicación de diferentes formas: |
| 22 | +La aplicación permite almacenar contactos, cada <b>contacto</b> está conformado por una <b>dirección IP</b> y un <b>nombre</b>, dichos contactos se muestran al usuario en este panel y permiten efectuar una serie de acciones. <br> |
| 23 | + |
| 24 | + |
15 | 25 |
|
16 | | -1.Podemos añadir un host a nuestra lista de contactos proporcionando un nombre y una dirección IP. <br> |
17 | | -2.Podemos editar la información relativa a un host existente (su direción nombre o direción IP). <br> |
18 | | -3.Podemos eliminar un host de la lista de contactos. <br> |
19 | | -4.Podemos asignar un host o un conjunto de hosts como destinatario de una transferencia. <br> |
| 26 | +#### Crear un nuevo contacto |
| 27 | +<br> |
| 28 | +A través de ese botón podemos crear un nuevo contacto introduciendo un nombre y una IP válida. |
| 29 | +#### Modificar información de un contacto existente |
| 30 | +<br> |
| 31 | +Podemos modificar la información relativa a un contacto de manera fácil y así evitar tener que eliminarlo e introducirlo de nuevo en el sistema. |
| 32 | +#### Eliminar un contacto de la lista |
| 33 | +<br> |
| 34 | +Podemos eliminar un contacto de la lista de forma cómoda y rápida. |
| 35 | +#### Asignar receptores |
| 36 | +<br> |
| 37 | +Utilizando el checkbox *send* podemos asignar que contactos queremos que sean los receptores de una futura transferencia.<br> |
| 38 | +Una vez que se selecciona un contacto y se asigna como receptor, se bloquean las opciones de editar y eliminar dicho contacto hasta que hemos realizado la transferencia o hemos deseleccionado dicho contacto. |
20 | 39 |
|
21 | 40 | ### Panel de ficheros |
22 | | -Desde este panel podemos: |
23 | | -1. Seleccionar el fichero o directorio que queramos enviar. |
24 | | -2. Visualizar la lista de destinatarios de la transferencia. |
25 | | -3. Iniciar la transferencia a través del botón del panel inferior. |
| 41 | +Desde este panel podemos elegir el fichero que queramos enviar, visualizar los receptores seleccionados y lanzar la transferencia. <br> |
| 42 | + |
| 43 | + |
| 44 | + |
| 45 | +#### Características del manejo de ficheros |
| 46 | +- La aplicación es capaz de enviar estructuras complejas de directorios. |
| 47 | +- La aplicación es capaz de enviar cualquier tipo de archivo (audio, imagen, texto, ejecutables ...). |
| 48 | +- La aplicación es capaz de enviar archivos de cualquier peso, no hay limitaciones al respecto. |
26 | 49 |
|
27 | 50 | ### Panel de transferencias |
28 | | -Desde este panel podemos observar el estado de las transferencias. |
29 | | -Esta aplicación permite hasta un total de 50 transferencias en paralelo |
30 | | -Para cada transferencia veremos su tipo (si estamos enviando nosotros o recibiendo) su dirección origen, su dirección destino, el nombre del archivo que estemos recibiendo y el progreso |
| 51 | +Desde este panel podemos observar el estado en el que se encuentran las transferencias en proceso, cada transferencia cuenta con la siguiente información: |
| 52 | +- Tipo de transferencia (entrante o saliente). |
| 53 | +- Receptor o emisor de la transferencia (dependiendo del tipo de esta) |
| 54 | +- Nombre del fichero enviado en la transferencia. |
| 55 | +- Progreso de la transferencia en tiempo real. |
| 56 | + |
| 57 | + |
| 58 | + |
| 59 | +#### Características del manejo de transferencias |
| 60 | +- La aplicación permite el envío concurrente de transferencias. |
| 61 | +- La aplicación no permite que se realizen dos envíos al mismo host de forma concurrente debido al diseño de esta, para enviar otro archivo se tendrá que esperar a que termine la primera transferencia. |
| 62 | +- La aplicación puede recibir hasta 50 transferencias entrantes en paralelo. |
31 | 63 |
|
32 | 64 | ### Panel del servidor |
33 | | -El panel del servidor cuenta con los siguientes modulos: |
34 | | -primer modulo: muestra información relativa al estado del servidor (cerrado o abierto) y al puerto en uso |
35 | | -Segundo módulo: muestra las tareas que está ejecutando el servidor (recibiendo transferencias, en espera, rechazando transferencias) |
36 | | -Tercer módulo: contiene todos los controles relativos al servidor: |
37 | | -#### Controler del servidor |
| 65 | +En este panel podemos visualizar información relativa al estado y el funcionamiento del servidor así como interactuar con la aplicación a través de una serie de botones. <br> |
| 66 | + |
| 67 | + |
38 | 68 |
|
39 | | -#### Controles extra |
| 69 | +#### Estado del servidor |
40 | 70 |
|
41 | | -## Detalles de implementación |
| 71 | + |
42 | 72 |
|
| 73 | +Desde este panel podemos visualizar el estado del servidor: |
| 74 | +- Podemos visualizar si el servidor se encuentra operativo o no. |
| 75 | +- Podemos visualizar el puerto en el que está trabajando el servidor. |
| 76 | +- Podemos visualizar la tarea que está realizando (recibiendo transferencias, en espera, cerrado y rechazando transferencias). |
| 77 | +#### Controles relativos al servidor |
43 | 78 |
|
44 | | -- Funcionalidades |
45 | | -- Host -> añadir, editar eliminar un host, seleccionar varios hosts para envios multiples -> |
46 | | -- File managment -> muestra las personas que van a recibir el archivo, permite seleccionar un archivo indicando que archivo está cargado actualmente, boton que inicia la transferencia |
47 | | -- transference panel -> Muestra de forma clara e intuitiva el estado de las transferences mostrando información relevante como la source, dst, nombre del archivo y porcentaje de transferencia |
48 | | -- Server panel -> muestra información relativa al estado del servidor (estado, puerto en uso, tareas actuales) también cuenta con una serie de opciones para su manejo (open,close,reset) |
49 | | -adicionalmente cuenta con boton ip, address |
| 79 | + |
50 | 80 |
|
51 | | -Aplicación |
52 | | -Aplicación cliente servidor fundamentada en programación socket, |
| 81 | +Desde este panel también podemos lanzar comandos relativos al funcionamiento del servidor: |
| 82 | +- Podemos abrir el servidor (si este previamente está cerrado). |
| 83 | +- Podemos reiniciar el servidor (si este previamente está abierto). |
| 84 | +- Podemos cerrar el servidor (si este previamente está abierto). |
| 85 | +- Podemos modificar la ruta en la que queremos que se ubiquen los archivos que recibamos mediante transferencias. |
| 86 | +- Podemos visualizar la IP local del equipo para facilitar el intercambio de contactos entre equipos. |
0 commit comments