Code Monkey home page Code Monkey logo

cs528-project1's Introduction

Binghamton University, Fall 2023

CS428/528 Project-1: Web Server

SUMMARY

  • There are 2 programs
    • PART 1 - webserver1.cpp is a Single-threaded web server written in C++.
    • PART 3 - webserver2.cpp is a Multi-threaded web server written in C++.
  • The server listens on a specified port 52837, accepts incoming client connections, and serves HTML and PDF files to clients.
  • Each client connection is handled in a separate thread in the webserver3.cpp program, allowing the server to handle multiple client requests concurrently.
  • The server parses incoming HTTP requests, retrieves requested files, and sends HTTP responses, supporting basic web server functionalities.
  • The server supports only "GET" request method and HTML and PDF file type.

NOTES, KNOWN BUGS, AND/OR INCOMPLETE PARTS

  • The servers were tested and handles upto 500MB PDF File transfers.
  • The service was denied on repeated request to the server for large PDF Files (500MB).
  • Multithreading is implemented with pthread to support all versions of C++. "thread" is compatible only after C++ 11
  • The servers were tested with 10MB, 50MB, 100MB and 500MB PDF File size.
  • The servers were tested through client requests in the same network.
  • If the client denies the response (cancels PDF download) the server raises error and is terminated.
  • Can switch to "DEBUG" mode to analyse the program flow. (to switch set const bool DEBUG = true;)

REFERENCES

INSTRUCTIONS

SUBMISSION

I have done this assignment completely on my own. I have not copied it, nor have I given my solution to anyone else. I understand that if I am involved in plagiarism or cheating I will have to sign an official form that I have cheated and that this form will be stored in my official university record. I also understand that I will receive a grade of "0" for the involved assignment and my grade will be reduced by one level (e.g., from "A" to "A-" or from "B+" to "B") for my first offense, and that I will receive a grade of "F" for the course for any additional offense of any kind.

By signing my name below and submitting the project, I confirm the above statement is true and that I have followed the course guidelines and policies.

Submission date: 11 OCTOBER 2023

Team member 1 name: VENKATNARAYAN GNANAGURUPARAN

Team member 2 name (N/A, if not applicable): Sowmya Achu

cs528-project1's People

Contributors

gvenkatn avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.