Tugas Besar - IF3130 Jaringan Komputer 2023
This is a simple file transfer program using UDP protocol. The program is written in Python 3.10 and tested on Windows 11 and MacOS.
Kelompok 1 K03 - GunungE
NIM | Nama |
---|---|
13521004 | Henry Anand Septian Radityo (Manusia Rasis) |
13521007 | Matthew Mahendra (Si Bucin ke Bandung Mulu) |
13521015 | Hidayatullah Wildan Ghaly (Manusia Penggali) |
13521024 | Ahmad Nadil (yg paling normal) |
- Reliable data transfer using UDP protocol and sliding window protocol
- Handle data transfer in bad network condition (Tested using Clumsy)
- Streaming process using Seek()
- Metadata transfer (file name and extension)
- Peer to Peer file transfer
- Parallel processing for handshake and data transfer in server
- Error Correcting Codes (ECC) using Hamming Code
- End to End device communication
- TicTacToe game using UDP protocol
- Run the server
python server.py -i <server_ip> -p <server_port> -f <file_input_path>
- Run the client
python client.py -ci <client_ip> -cp <client_port> -i <server_ip> -p <server_port> -f <file_output_path>
There is default value for each argument, so you can run the program without any argument
Alternatively, you can run the main program to switch between server and client mode
python main.py
┣ 📂.github
┃ ┗ 📜.keep
┣ 📂lib
┃ ┣ 📜__init__.py
┃ ┣ 📜Connection.py
┃ ┣ 📜Constant.py
┃ ┣ 📜Hamming.py
┃ ┣ 📜Logger.py
┃ ┣ 📜Node.py
┃ ┣ 📜Segment.py
┃ ┣ 📜SegmentFlag.py
┃ ┗ 📜Utils.py
┣ 📂output
┃ ┗ 📜.gitkeep
┣ 📜.gitignore
┣ 📜client.py
┣ 📜main.py
┣ 📜README.md
┗ 📜server.py