# Cliente y Servidor de Envío de Archivos Este proyecto consiste en una aplicación cliente-servidor desarrollada en Python que permite a los usuarios enviar archivos de un cliente a un servidor. ## Cliente El cliente de la aplicación está diseñado con una interfaz gráfica simple usando la biblioteca Tkinter de Python. Permite al usuario conectarse al servidor, explorar archivos locales y enviar archivos seleccionados al servidor. ### Características del Cliente: - **Conexión al Servidor:** El cliente puede conectarse al servidor proporcionando la dirección IP y el puerto. - **Exploración de Archivos Locales:** Se puede navegar a través de los archivos locales del cliente para seleccionar un archivo para enviar al servidor. - **Envío de Archivos:** Una vez que se selecciona un archivo, el cliente puede enviarlo al servidor. Muestra el progreso del envío con una barra de progreso. ### Requisitos del Cliente: - Python 3.x instalado. - Biblioteca Tkinter (normalmente incluida con la instalación estándar de Python). ## Servidor El servidor es una aplicación de consola simple que espera conexiones de clientes. Cuando un cliente se conecta, el servidor recibe el archivo enviado por el cliente y lo guarda en una carpeta designada. ### Características del Servidor: - **Espera de Conexiones:** El servidor espera a que los clientes se conecten en un puerto especificado. - **Recepción de Archivos:** Cuando un cliente se conecta y envía un archivo, el servidor lo recibe y lo guarda en la carpeta designada. - **Creación de Carpetas de Usuario:** Si la carpeta de usuario correspondiente no existe en el servidor, el servidor la crea automáticamente al recibir la primera conexión de ese usuario. ### Requisitos del Servidor: - Python 3.x instalado. ## Uso ### Cliente: 1. Ejecute el script `Cliente.py`. 2. Ingrese la dirección IP y el puerto del servidor al que desea conectarse. 3. Haga clic en el botón "Conectar". 4. Use el botón "Buscar Archivos" para explorar los archivos locales y seleccione el archivo que desea enviar. 5. Haga clic en el botón "Enviar Archivo" para enviar el archivo seleccionado al servidor. ### Servidor: 1. Ejecute el script `Servidor.py`. 2. El servidor comenzará a esperar conexiones de clientes en el puerto especificado. 3. Los archivos enviados por los clientes se guardarán en la carpeta `usuarios` en el servidor, en una subcarpeta correspondiente al cliente. ## Notas Adicionales - Asegúrese de que el cliente y el servidor estén en la misma red para que puedan comunicarse correctamente. - Siempre verifique las configuraciones de firewall y permisos de red para permitir la comunicación entre el cliente y el servidor.