- Paulo Chen | istID: 110200 | @cyx25
- Rodrigo Camacho | istID: 110462 | @R-Camacho
The goal of this project is to implement an event reservation platform. The system consists of an Event Reservation Server (ES) and a User Application (User) operating simultaneously on different machines connected to the Internet.
Users can create, cancel, and close events, as well as list ongoing events and make reservations. The implementation uses application layer protocols operating according to the client-server paradigm, using both UDP (for user management) and TCP (for file transfers and reservation messaging).
To compile the project, open a terminal in the src directory (where the Makefile is located) and run:
make
This will generate two executables:
ES(The Server)user(The Client)
To clean up object files and executables, run:
make clean
To start the server, use the following command syntax:
./ES [-p ESport] [-v]Arguments:
-p ESport: (Optional) The well-known port where the ES accepts requests.- If omitted, the port defaults to
58029.
- If omitted, the port defaults to
-v: (Optional) Enables verbose mode. The server will output a description of received requests, IP addresses, and ports to the screen.
Example:
./ES -p 58029 -vTo start the user application, use the following command syntax:
./user [-n ESIP] [-p ESport] [-d|--debug]Arguments:
-n ESIP: (Optional) The IP address of the machine where the ES is running.- If omitted, it assumes the ES is running on the same machine (localhost).
-p ESport: (Optional) The well-known port where the ES accepts requests.- If omitted, it defaults to
58029.
- If omitted, it defaults to
-d, --debug: (Optional) Enables debug mode. Useful for troubleshooting and development.
Example:
./user -n tejo.tecnico.ulisboa.pt -p 58029