Closed

Server/Client

Instructions: Compile the C programs in one of the CSE (cse01 – cse06) servers and make sure it’s working. Comment your code. Create a readme file that describes the working and usage of the code. Please create a zip archive of your assignment folder (readme, code, and header files) and upload the zip file. Not following the above instructions could result up to 50% deduction from your assignment score. Late submissions are not allowed.

Objective:

Create a web proxy server that can be connected by a single client and would only allow http requests. The proxy server should be able to cache up to five recent websites.

Requirements:

Create a C-based proxy server and a client using TCP sockets

The proxy server should be able to accept and service single client’s http requests

The proxy server should be able to process the client’s request and forward the response to the client

The proxy server should run on [login to view URL] machine and the client should run on [login to view URL] machine

The proxy server should be able to cache at least five recent requested webpages, if available

Procedure:

Create a C-based server that can accept single client’s request using TCP sockets

The created proxy server should also be able to process the client HTTP request

Make sure the proxy server runs on [login to view URL] and the format to start the proxy server as follows

pserver <port_number>

where pserver is the proxy server executable and port_number is the port number on which the proxy server listens

Create a C-based client that can connect to the proxy server using TCP sockets

Make sure the client runs on [login to view URL] and connects to the proxy server. The user can request the desired web page using the below format

client <port_number>

url: <url>

where client is the client executable, port_number is the port number on which the client connects the server and url is the requested url starting with www

Once the proxy server gets a request from the client, it checks the cache for the requested page. If the page is not found in the cache, then it forwards the request to the web server. Figure 1 shows the overall architecture

The proxy server checks for the response from the web server

If the HTTP response is 200, the returned web page from the web server is cached in the proxy server. The proxy server stores the webpage in a file and assigns a filename based on the time of visit. The filename format is YYYYMMDDhhmmss. Where YYYY is the year, MM is the month, DD is the day, hh is the hour in 24-hour format, mm is the minutes, and ss is the seconds when the website was visited

A list file ([login to view URL]) is created which stores the URL of the webpage and the associated cached web page filename

The list file stores five recent URLs. The cached websites that are not listed in the list file should be deleted

Once the returned web page is cached, the web page is forwarded to the client. Verify to see if the returned page is same as the browser returned page.

If the HTTP response is not 200, do not cache the web page instead forward the HTTP response to the client

When the client requests a webpage that is in the [login to view URL] file (cached) the stored page is returned

Test web caching by accessing multiple websites

A sample [login to view URL] the document is available on Canvas for reference.

Deliverables:

Commented server and client C code

A readme file that describes how to compile, execute, and test the C codes.

Skills: C Programming, Server

See more: client server architecture diagram, explain client server architecture, client server architecture in dbms, difference between client and server, client server model pdf, what is client server network, types of client server architecture, client server model ppt, java server client audio streaming, speakychat server client, video streaming server client program, server client game, twain scan server client, java project multithreading server client, creating server client messaging application, projects messenger server client, basic server client socket java, game server client modification, java poker server client, socket server client

About the Employer:
( 1 review ) Denton, United States

Project ID: #23947557

11 freelancers are bidding on average $105 for this job

kaloyan13

I have completed a few proxy programs in C for Linux. Can do yours for 2-3 hours time. Thank you.....

$50 USD in 1 day
(321 Reviews)
7.0
hbxfnzwpf

I am very proficient in c and c++. I have 18 years c++ developing experience now, and have worked for more than 7 years. My work is online game developing, and mainly focus on server side, using c++ under Linux environ More

$120 USD in 3 days
(110 Reviews)
6.8
iridescent2x15

HI i have done many c programming projects. I can deliver you this client/server project in c. Kindly contact to discuss more details in chat. Thank you

$200 USD in 7 days
(45 Reviews)
6.0
sodiqa32

Hello, I am pleasure with your job as detailed. Thank you for the job posting. It’s a pleasure to meet you. I’d really like to work with you on this one if possible! I do have a couple of questions, but first I’d like More

$10 USD in 1 day
(19 Reviews)
5.1
idleswell

Hello, I have 30 years experience programming in C. I will create these client/server applications with a proxy server and client. A milestone payment for the full budget for this project must be deposited with this More

$158 USD in 7 days
(63 Reviews)
4.9
kalyanprakash123

Keen to do this, please discuss. Negotiable price and duration...........................................................................................................................................................

$40 USD in 2 days
(5 Reviews)
3.1
ExpertSoul

Hi There, I've reviewed your requirements, I am very interested in your post project. I'm excited with feeling that I would be able to satisfy your requirements in this job. Please leave a message on my chat so we can More

$20 USD in 1 day
(3 Reviews)
2.6
ajaitx

Hello, I have prior experience of implementing the server client model as per your requirement. Also i am very clear about your requirement. Please see my profile for the details of my skills and also check the server/ More

$30 USD in 2 days
(2 Reviews)
1.2
lifopa3001

I READ YOUR POST I CAN DO IT FOR YOU Hello I am a senior developer. I want to do it for you if you want. we can discuss more about this project. if you can send a reply. I waiting for you best response. let me discuss More

$20 USD in 1 day
(0 Reviews)
0.0
greesol

Professional C/C++ developer is ready for your project! I have gone through your description and I'm very interesting as an expert in this field. I'm developing C/C++ program for 10+ years and have excellent commands i More

$10 USD in 1 day
(0 Reviews)
0.0
shivaprasad11may

This project can be completed in 15 days, Let me know if it works for you . I'm having 13 years of experience in C/C++ coding. Thank you! Shiva

$500 USD in 15 days
(0 Reviews)
0.0