1.3 KiB
1.3 KiB
Playground RS
A simple multi-threaded web server implementation in Rust. This project demonstrates the implementation of a basic HTTP server with a thread pool for handling concurrent connections.
Features
- Multi-threaded web server implementation
- Custom thread pool for handling concurrent connections
- Basic HTTP response handling
- Graceful shutdown mechanism
Project Structure
src/main.rs
- Entry point of the applicationsrc/server.rs
- Web server implementationsrc/thread_pool.rs
- Custom thread pool implementation
Requirements
- Rust 2024 edition
- Cargo (Rust's package manager)
Running the Project
- Clone the repository:
git clone <repository-url>
cd playground-rs
- Build and run the project:
cargo run
The server will start on 127.0.0.1:7878
. You can test it by opening a web browser and navigating to http://127.0.0.1:7878
or using curl:
curl http://127.0.0.1:7878
Implementation Details
Thread Pool
The project implements a custom thread pool that:
- Creates a fixed number of worker threads
- Uses message passing for job distribution
- Handles graceful shutdown
- Manages thread lifecycle
Web Server
The web server:
- Listens on localhost port 7878
- Uses the thread pool to handle incoming connections
- Responds with a simple "Hello, world!" message