https://github.com/Redarrow76/socket
https://github.com/Redarrow76/socket
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/Redarrow76/socket
- Owner: Redarrow76
- Created: 2022-06-27T20:25:31.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-06-27T20:29:25.000Z (almost 3 years ago)
- Last Synced: 2024-08-02T00:22:14.288Z (10 months ago)
- Language: Python
- Size: 318 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- socket-programming - FTP Server
README
# FTP Implementation with Socket Programming
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 files
- `get `: Download `` file from the server
- `put `: Upload `` file to the server
- `quit`: Exit the client program## Requirements
- Python version `3.10.0` or higher.
- PyQt5 version `5.15.6`.
## How to Run
0. Install the requirements
1. Open a Command Prompt/Terminal and change the working directory to the project directory (**don't skip this step**):
```bash
cd ftp-implementation
```
2. Enter the following command:
```bash
pip install -r requirements.txt
```
1. Run the server
1. Open a Command Prompt/Terminal and change the working directory to the project directory (**don't skip this step**):
```bash
cd ftp-implementation
```
2. Enter the following command to run the server:
```bash
# python server.py
python server.py 12345
```
2. Run a client
1. Open another Command Prompt/Terminal and change the working directory to the project directory (**don't skip this step**):
```bash
cd ftp-implementation
```
2. Enter the following command to run a client:
```bash
# python client.py 127.0.0.1
python client.py 127.0.0.1 12345
```
3. **(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:
