The project includes a file client and a file server. The client and server communicate using either TCP or UDP protocols. The server shares a directory, allowing clients to connect, preview the directory in real-time, upload files to the directory, and download files from the directory. The project supports file resumption and integrity checking.
- Real-time Directory Preview: Clients can see the server's shared directory in real-time.
- File Upload: Clients can upload files from their local machine to the server's directory.
- File Download: Clients can download files from the server's directory.
- Resumable Transfers: Supports resuming interrupted file uploads and downloads.
- File Integrity Checking: Ensures the uploaded and downloaded files are intact and uncorrupted.
- Directory Sharing: Shares a specified directory with clients.
- TCP/UDP Communication: Supports both TCP and UDP protocols for client-server communication.
- File Management: Manages file uploads and downloads, ensuring integrity and supporting resumption.
- Directory Preview: Connects to the server and previews the shared directory.
- File Upload: Allows users to upload files to the server's shared directory.
- File Download: Allows users to download files from the server's shared directory.
- Resumable Transfers: Supports resuming interrupted transfers.
- File Integrity Checking: Verifies file integrity after transfers.
- Qt framework installed.
- Basic understanding of C++ and Qt.
-
Clone the Repository:
git clone <repository_url>
-
Open the Project: Open the project in Qt Creator.
-
Build the Project: Configure and build the project using Qt Creator.
-
Start the Server: Run the server application. It will share a specified directory for clients to access.
-
Start the Client: Run the client application. Connect to the server using the server's IP address and port.
-
Perform File Operations:
- Preview Directory: View the server's shared directory.
- Upload Files: Upload files from the client to the server.
- Download Files: Download files from the server to the client.
-
Connect to Server: Enter the server's IP address and port to connect.
-
Browse Directory: Navigate the shared directory in real-time.
-
Upload File: Select a file from your local machine and upload it to the server.
-
Download File: Select a file from the server's directory and download it to your local machine.
-
Resume Transfers: If a transfer is interrupted, restart the client and resume the transfer from where it left off.
-
Check File Integrity: Ensure the file transferred is complete and uncorrupted.
This is a practice project. While it includes fundamental functionalities, it is not intended for production use.
This project is open-source and free to use under the MIT License. Feel free to contribute and enhance its functionalities!