Highlights
Specifications and Requirements:
The goal of assignment 2 is to enhance the HTTP protocol started earlier. The student has to build on the HTTP implementation started in Assignment 1 where the HTTP get request was constructed and shared with the server for validation and corresponding response. By the end of assignment 2, students should be able to modify the TCP multi-threading code, in order to implement most of HTTP functionalities including request construction, request validation and response construction between the server and the different users; admin and users. Also, the students should be able to differentiate between different server’s reply codes and share them accordingly. The particular problem that you have to resolve consists of issuing HTTP requests and analyzing their responses between multiple users connected to a server on a different computers.
Assignment 1 Functionalities:
In assignment 1, you were required to implement some HTTP protocol functionalities. As a first step, the client will create the message with its header and body and send it to the server. The server receives the message header, displays it and replies with a confirmation message including the time-stamp. The same functionalities will be extended on during this assignment as the following scenario indicates. Hence, you will use your assignment 1 codes to implement assignment 2.
Assignment 2 Scenario:
The below figure illustrates the scenario which you are required to implement in this assignment where a server acts as an intermediary between the sender and receiver clients.
The scenario steps are detailed as described below:
1. Server starts running while displaying the server hostname
2. User enters the registration form fields
3. User client constructs the post request
4. User client connects to the server and sends the HTTP post request
5. Server validates the request received from the user
6. Server sends HTTP response
7. Server saves the information shared in the post request to the (user_name)_registration.txt and the user shows the response from the server
8. Admin constructs a get request for the (user_name)_registration.txt file
9. User sends get request to the server
10. Server validates the request received from the user
11. Server sends HTTP response
1) WEB SERVER: one partner logs at one computer and starts one application program to act as the server. At startup, program displays the following messages:
→ Web Server Starting at host: [ServerHostName] waiting to be contacted for transferring web contract...
2) CLIENT:
The other partner logs into the second computer and starts the other application program to act as the first client. At start up, program displays the following messages:
→Client starting on host: [ClientHostName] Type name of web server: ServerHostName
HTTP version: 1.1
Method: POST
Webpage Name: [register.html]
First name: Maha
Last name: Kadadha
Date of Birth: 1/1/1996
Username: maha.kadadha
Form submitted, waiting for web server to respond...
3) WEB SERVER: the server receives the HTTP request, displays the HTTP request Header Fields:
Request Received from [Client1Hostname]
HTTP version: HTTP/1.1
Method: [Client2HostName]
Webpage name: [register.html]
First name: Maha
Last name: Kadadha
Date of Birth: 1/1/1996
Username: maha.kadadha
Timestamp: Wed. Feb. 6, 2020 12:00
4) The server receives the HTTP request form Client 1, verifies the header’s fields and sends back a confirmation message (“200 OK or “501 Error”) with a time-stamp, and returns to the waiting state.
Assumptions and Specifications:
• The server that clients connect to can change its name.
• There should be input check aside from the server validation to ensure that the input fields are valid.
• Assume one user can register to the server and another client acts as an admin who gets the list of registered files.
• All running codes should display its status (ex. Client print to screen, “user has been registered to the server”)
Supplementary Codes:
To develop the applications required in this assignment, please use the previously given programs in assignment 1 and the codes you developed in assignment 1.
Deliverables
You will be required to submit the following by the deadline. Failure to submit by the deadline will result in deduction of marks.
• Word/PDF document which contains your C/C++ program for turnitin check. The document should include all the file you created and modified (cpp and header files).
• A ZIP folder which includes the used projects (server, sender and receiver). You will be required to download the folder from moodle in your demo slot and run it directly. Hence, make sure you submit a correctly running version.
Demo:
On demo day, each team should run the server and client codes on 2 or 3 PCs. one for the Server, one for Sender Client and the third is for the receiving client. One of the Clients running (Sender OR Receiver) on the same machine with the server. In addition, you will be asked questions about the functioning of the program; any student of the group must be able to answer any question. Part of the marks will be assigned for demonstrating compliance with requirements at this demonstration. Marks assigned to each member of the group may be different, depending on ability to answer the questions.
This ECCE 356: Engineering Assignment has been solved by our Engineering Experts at My Uni Paper. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing style.
Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.
© Copyright 2026 My Uni Papers – Student Hustle Made Hassle Free. All rights reserved.