Find Jobs
Hire Freelancers

Concurrent www proxy server with persistent client connections(repost)

$30-60 USD

Cancelado
Publicado hace alrededor de 16 años

$30-60 USD

Pagado a la entrega
This is a simple uni assignment. **You are provided with a simple www proxy server in C.** You have to develop a more efficient and useful proxy server by extending it. It is broken down into **five steps**, which must be done in the specified order. Only HTTP/**1.1** protocol must be used for this job. The five steps are: 1) *Concurrent request processing*: Handle requests concurrently, dont wait for previous requests to complete before starting to process a new request from a different client. 2) *Persistent client connections*: Leave client connections open, to allow each client to send asequence of requests on each connection. Only close a client connection when the client requests it by a "Connection : close" header line, or when aresponse does not have a self defined length. 3) *Asynchronous close by clients*: Handle the possibility of a client "asynchronously" closing a connection. This could happen at any time, but is most likely to happen between client requests,e.g., by a time-out in the client. 4)*Time-out for clients*: Implement a time-out that closes an idle client connection approximately 10 seconds after the last request was received on it. 5)*Pipelining for clients*: If a client pipelines its requests (i.e., sends a request before the previous request has been completed), dont wait for previous requests to complete before starting to process anew request from the same client. *Make sure that responses are sent in the sam order as requesta are received. * You also need to provide a report that indicates which parts you have implemented, and explaining the **why** and **how** for each part. Note that the report should be brief: the **why** parts about the same length as the **what** parts, and the **how** parts about **twice** that length. ## Deliverables 1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables): a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment. b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request. 3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement). ## Platform Use any browser for testing. Program to be written in **C**. **What to submit: **1) The source code of your program, adequately commented. (Filenames: *.c, *.h). 2) A makefile to compile your program and produce an executable program named "proxy". 3) Your report. This must be a plain text file, not Word, etc.
ID del proyecto: 3740334

Información sobre el proyecto

Proyecto remoto
Activo hace 16 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos

Sobre este cliente

Bandera de UNITED STATES
United States
5,0
12
Miembro desde ene 8, 2008

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.