- Clone/fork the repo
- You might need to run
chmod +x start.sh
- To build, run
make
- To run the singlethreaded server,
./start.sh S
- To run the multithreaded server,
./start.sh M
- To erase builds, run
make clean
- Run
./start.sh TS
to run tests for the single threaded server and./start.sh TM
to test the multithreaded server
- Containerize server (
clone()
?) - Set up multiple intances of servers and make a load balancer to simulate a distributed system locally. (Is this even possible?)
- Webserver serves static files inside the
static/
directory- Can serve html, css, js files (MIME types)
mthread_server.c
supports conccurrent connections --> used pthread library to create worker threads to service each connection