This is an application based on low-lewel network programming ( socket programming) to send packets by UDP from client to server and create possibility of pasckets dropping to make application a bit close to real conditions. Moreover it uses exponential backoff technique to avoid packet loss.
To clone this repository to your local device
git clone https://github.com/Khaaaan/Assignment-1-Network-Programming.git
To download requirements modules
pip install -r requirements.txt
To run a server with 0.0.0.0 IP address which accept connections not only from other applications on the same device but also from other devices
python3 Task_1_OOP.py server ""
To run a client
python3 Task_1_OOP.py client ""
You could choose another port for you server (default is 1060)
python3 Task_1_OOP.py server "" [yourPort]