Terminé

Need help with C programm

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:

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

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

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

4. The proxy server should run on cse01 machine and the client should run on cse02 machine

5. The proxy server should be able to cache at least five recent requested webpages, if available 6. When a http request is made to a website that is cached, the proxy server should return the cached page.

Procedure:

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

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

3. Make sure the proxy server runs on cse01 and the format to start the proxy server as follows ./pyserver <port_number>

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

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

5. Make sure the client runs on cse02 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

6. 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

7. The proxy server checks for the response from the web server

8. 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

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

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

11. 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.

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

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

14. Test web caching by accessing multiple websites. Most websites are not http websites so only select http websites. Some http websites are given here

15. A sample [login to view URL] is available

Deliverables:

1. Commented server and client C code

2. A Makefile to compile (make) all the source code and to clean (make clean) all the executables

3. A readme file that describes how to compile, execute, and test the code.

Compétences : Programmation C

en voir plus : c programming help online free, c programs with solutions pdf, online c compiler, c program assignment help, code c, how to learn c language step by step, c program trial, c programming tutorial, mp3 files need help transcribing, need help adding google adsense site, freelance need help wsdl file, open source projects need help, need help text website, need help building resume, need help fixing cre loaded, coldfusion website need help, need help finishing work, need help design hair salon, need help mcafee secure vulnerabilities, need help cloning website

Concernant l'employeur :
( 0 commentaires ) Irving, United States

Nº du projet : #27527320

Décerné à:

kuser123

please discuss, keen to do it. Negotiable price

%selectedBids___i_sum_sub_7% %project_currencyDetails_sign_sub_8% USD en 3 jours
(0 Commentaires)
0.0

7 freelances font une offre moyenne de 425 $ pour ce travail

utkarshkatiyar19

Hi, I'm an expert in C programming. I can easily do this project for you. We can have a chat about it. Thanks.

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 2 jours
(358 Commentaires)
7.3
(8 Commentaires)
6.6
sayanthanpera

I can do................... Please contact me ................................................................................

%bids___i_sum_sub_32% %project_currencyDetails_sign_sub_33% USD en 1 jour
(29 Commentaires)
4.0
vedantkk

Hello sir/mam I can help you with your [login to view URL] messfae me for more dtails and further process.

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 7 jours
(0 Commentaires)
0.0
sparxsols11

Hi. How are you? Your description catches my eyes. I'm full-stack web developer. "Credit is capital" It's my creed. I have been ever built website using HTML, CSS, javascript, MySQL, jqueary, PHP, CI, wordpress, larave Plus

%bids___i_sum_sub_32% %project_currencyDetails_sign_sub_33% USD en 1 jour
(0 Commentaires)
0.0
HansonCoder

hi, 1. I devoted myself to programming for 10 years, with a volume of 1 million lines of code 2. Proficient in Socket programming, familiar with multithreaded programming 3. Familiar with HTTP application layer protoco Plus

%bids___i_sum_sub_35% %project_currencyDetails_sign_sub_36% USD en 2 jours
(0 Commentaires)
0.0