It must develop a http server that is at least able to address some of the most common requests made by Web browsers. C ++ is the programming language used.
HTTP uses TCP as the transport protocol. The program will only receive the TCP port that will serve the client connections.
REQUIREMENTS:
- It must be a multithreaded server: Able to meet multiple demands simultaneously, each connection with a client will be associated with a thread.
- Connection accepted: The server will accept only those requests with the GET method. As a result, the server must send the selected object. If the object is not on the server, then it will respond with HTTP error message like "Not found" (code 404). All requests to include any method other than GET, will output a HTTP error message such as "Not implemented" (Code 501).
- Version accepted: The server will only accept requests that use version 1.0 or 1.1 of the HTTP protocol. Requests to use any other version will cause the sending of an HTTP error message such as "HTTP Version Not Supported" (Code 505).
- Connections must be persistent.
- Conditional Requests: HTTP allows conditional requests, which are those in which only return the requested object when it has been modified from that date. Otherwise, the server simply sends an HTTP response message such as "Not Modified" (Code 304).
- Control access to objects: Before returning the requested object, the server must check whether the client has permission to access that object. If you do not have the required permissions the server will respond with HTTP error message like "Forbidden" (Code 403)
-------------------------------------------------- --------------------------------------------------
The server must use the mechanism of sockets to communicate with their clients.
To facilitate the things, I provide a class named "Thread".
The procedure for creating new topics from this class is as follows.
First you must declare a new class derived from the "Thread" class.
Then you must declare a function named Run () to the new class. This function contains the code that will run the threads. Finally, to start a new thread, call the "Start" function of a derived class object. This feature allows you to also pass a parameter to the thread. The thread can access to this parameter using the function Arg ().
The server needs to work under Ubuntu and compile with gcc or g++.
The code has to be in one file called [login to view URL] or [login to view URL]
The command to run the server needs to be: ./server [port number]
------------------------------
That's all, read the PDF and the attached files for examples (some files in spanish)
Dear sir,
I am proficient in C+ programming especially in network programming.
I am familiar with networking protocal like HTTP, FTP, SMTP and etc.
I have used socket programming in many commercial C++ projects and in some client/server game application. I have studies HTTP protocal in details.
I can show you demos about my past projects. I can do the project with high quality.
Wait for your response:)
Thank you,
BR
sir,
It have been use to these things this is my daily task and easy one for me. One more thing, i think u are paying to much for it. This task is an easy one.