Table of Contents
Tubes 1 Jaringan Komputer (IF3130). Sistem program server-client.
- UDP Protocol
- Three way handshake
- Checksum
- File transfer (any extension)
- ARQ Go-Back-N Mechanism
- Unreliable connection handling mechanism (Segment loss, Bit loss, etc)
- Peer to peer [Bonus]
- Parallel mode [Bonus]
- End to End [Bonus]
- Tic Tac Toe [Bonus]
.
├─── .gitignore
├─── client.py
├─── penerima.py
├─── pengirim.py
├─── README.md
├─── server.py
├─── input
│ ├── TC2.rar
│ ├── TC4.rar
│ └── tes.pdf
├─── lib
│ ├── connection.py
│ ├── messageInfo.py
│ ├── segment.py
│ └── utils
│ ├── Colors.py
│ └── logger.py
└─── tictactoe
├── player.py
├── tictactoe.py
└── lib
├── Board.py
├── Client.py
├── Connection.py
├── Display.py
├── Evaluator.py
├── GameClient.py
├── GameServer.py
├── MessageInfo.py
├── Player.py
├── Segment.py
└── Server.py
- Python 3.10+
- Clone the repo
git clone https://github.com/Sister20/tugas-besar-if3130-jaringan-komputer-risma.git
- Go to the repository root folder
tugas-besar-if3130-jaringan-komputer-risma
cd tugas-besar-if3130-jaringan-komputer-risma
- Run the server
server.py
python server.py <server_port> <input_file>
- Choose whether to enable parallel mode or not
Enable parallel? (y/n) y [•] Server running on port 12345 [•] Starting server in parallel mode...
- Go to the repository root folder
tugas-besar-if3130-jaringan-komputer-risma
cd tugas-besar-if3130-jaringan-komputer-risma
- Run the client
client.py
python server.py <client_port> <server_port> <output_file>
- Run another client with different port if necessary
python server.py <another_client_port> <server_port> <another_output_file>
- Go to the repository root folder
tugas-besar-if3130-jaringan-komputer-risma
cd tugas-besar-if3130-jaringan-komputer-risma
- Run the main program
main.py
python main.py
- Go to the tictactoe folder
tugas-besar-if3130-jaringan-komputer-risma/tictactoe
cd tugas-besar-if3130-jaringan-komputer-risma/tictactoe
- Run the server
server.py
python tictactoe.py <server_port>
- Run player 1 as client
player.py
python player.py <client_port_1> <server_port>
- Run player 2 as client
player.py
python player.py <client_port_2> <server_port>
NIM | Name |
---|---|
13521005 | Kelvin Rayhan Alkarim |
13521019 | Ditra Rizqa Amadia |
13521021 | Bernardus Willson |