Skip to content
This repository has been archived by the owner on Dec 1, 2020. It is now read-only.
/ SimpleHTTPServer Public archive

C++ implemetation of HTTP server with content modules, course project of cpp based on linux

License

Notifications You must be signed in to change notification settings

xchern/SimpleHTTPServer

Repository files navigation

Course Requirements

  • HTTP Server offering system information including:
    • time
    • linux version
    • free disk space
    • processes running
  • realtime webpage when requested
  • modules compiled as dynamic shared library, and allows load/unload at runtime
  • process/thread pool to handle http request
  • run under non-root
  • OOP

Main Feature

  1. an console to control

  2. load/unload module at runtime

  3. detect files under modules directory

  4. multithread responsing See source file taskqueue.h and server.cc for detail.

Usage

$ make under main directory to build main program.

Enter modules directory and run ./getMod.sh to get modules build.

After build, run bin/server to start program.

To see command list.

>>> help

To detect files under ./modules directory relative to server executable

>>> cand

To see working dynamic modules:

>>> status

To load module in file demo:

>>> load demo

To unload module named demo:

>>> unload demo

ScreenShot

Required dynamic modules

ps time version df

Easter Egg

lifegame

Modules

  • Main Program
    • HTTP Receiver/Sender
    • Module
    • Console
    • Thread Pool
  • Information Gathering Modules

Workflow

  • HTTP Receiver/Sender
  • load Module
  • Manipulate Program
  • Modules info
  • Thread Pool and Arranger
  • More Modules
    • time
    • version
    • df
    • ps
  • Testing

About

C++ implemetation of HTTP server with content modules, course project of cpp based on linux

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published