Bloomsburg University of Pennsylvania Basic Web Server TCP Programming Project

User Generated

vvqka

Computer Science

Bloomsburg University of Pennsylvania

Description

Part1:

Implement a web server that handles one HTTP request at a time. Your web server should accept and parse the HTTP request, get the requested file from the server’s file system, create an HTTP response message consisting of the requested file preceded by header lines, and then send the response directly to the client. If the requested file is not present in the server, the server should send an HTTP “404 Not Found” message back to the client.

Put an HTML file (e.g., HelloWorld.html) in the same directory that the server is in. Run the server program. Open a browser and provide the corresponding URL. For example:

http://192.168.80.1:6789/HelloWorld.html

192.168.80.1 is the IP address of your server. You can also use the hostname e.g. delenn.stetson.edu. 6789 is the port number. You need to replace this port number with whatever port you have used in the server code. If you omit ":6789", the browser will assume port 80 and you will get the web page from the server only if your server is listening at port 80.

‘HelloWorld.html’ is the name of the file you placed in the server directory. The browser should then display the contents of HelloWorld.html. Then try to get a file that is not present at the server. You should get a “404 Not Found” message.

What to turn in:

Your server code along with the screen shots of your client browser, verifying that you actually receive the contents of the HTML file from the server.

Part 2:

Instead of using a browser, write your own HTTP client to test your server. Your client will connect to the server using a TCP connection, send an HTTP request to the server, and display the server response as an output. You can assume that the HTTP request sent is a GET method.

What to turn in:

Your client code and a typescript that illustrates at least two test cases

Part 3:

Implement a multithreaded server that is capable of serving multiple requests simultaneously. Using threading, first create a main thread in which your server listens for clients at a fixed port. When it receives a TCP connection request from a client, it will set up the TCP connection through another port and services the client request in a separate thread. There will be a separate TCP connection in a separate thread for each request/response pair.

What to turn in:

Your multithreaded server code and a typescript that illustrates how it handles multiple requests or multiple clients

Note: Use the command “script” to create the typescript file. This command logs all screen activity in a file called typescript in the current directory until you type the command “exit”

User generated content is uploaded by users for the purposes of learning and should be used following Studypool's honor code & terms of service.

Explanation & Answer

View attached ex...


Anonymous
Just what I was looking for! Super helpful.

Studypool
4.7
Indeed
4.5
Sitejabber
4.4

Related Tags