A simple File Transfer Protocol project using Socket Programming in Python implemented by Ali Safinal.
On the client side, there is a Graphic User Interface that provide these functions:
ls
: Show List of server filesget <file-name>
: Download<file-name>
file from the serverput <file-name>
: Upload<file-name>
file to the serverquit
: Exit the client program
- Python version
3.10.0
or higher. - PyQt5 version
5.15.6
.
- Install the requirements
- Open a Command Prompt/Terminal and change the working directory to the project directory (don't skip this step):
cd ftp-implementation
- Enter the following command:
pip install -r requirements.txt
- Open a Command Prompt/Terminal and change the working directory to the project directory (don't skip this step):
- Run the server
- Open a Command Prompt/Terminal and change the working directory to the project directory (don't skip this step):
cd ftp-implementation
- Enter the following command to run the server:
# python server.py <port-number> python server.py 12345
- Open a Command Prompt/Terminal and change the working directory to the project directory (don't skip this step):
- Run a client
- Open another Command Prompt/Terminal and change the working directory to the project directory (don't skip this step):
cd ftp-implementation
- Enter the following command to run a client:
# python client.py 127.0.0.1 <port-number> python client.py 127.0.0.1 12345
- Open another Command Prompt/Terminal and change the working directory to the project directory (don't skip this step):
- (Optional) You can repeat step 2 as many times as you want! This project supports multi-clients feature.
Here is an example photo showing how does the program look like: