Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/botirk38/concurrentserve
ConcurrentServe is a compact, multithreaded web server in C, designed for educational purposes. It demonstrates TCP/IP networking, thread management, and HTTP protocol handling, offering a practical approach to learning low-level network programming.
https://github.com/botirk38/concurrentserve
Last synced: about 1 month ago
JSON representation
ConcurrentServe is a compact, multithreaded web server in C, designed for educational purposes. It demonstrates TCP/IP networking, thread management, and HTTP protocol handling, offering a practical approach to learning low-level network programming.
- Host: GitHub
- URL: https://github.com/botirk38/concurrentserve
- Owner: botirk38
- Created: 2023-12-10T10:14:22.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-21T14:38:31.000Z (about 1 year ago)
- Last Synced: 2024-11-06T12:57:28.758Z (3 months ago)
- Language: C
- Size: 75.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.MD
Awesome Lists containing this project
README
# ConcurrentServe
## Description
This project is a concurrent server built in C, designed to handle multiple client requests simultaneously. It integrates MongoDB for data storage, allowing CRUD (Create, Read, Update, Delete) operations on a MongoDB database. The server uses OpenSSL for SSL encryption, ensuring secure data transmission.## Features
- Concurrent handling of client requests using threads.
- SSL encryption for secure communication.
- Integration with MongoDB for persistent data storage.
- Supports CRUD operations via HTTP methods: GET, POST, PUT, DELETE.
- JSON parsing for request and response handling.
- Modularized code structure for easy maintenance and scalability.## Installation
### Prerequisites
- C compiler (GCC or Clang)
- OpenSSL
- MongoDB C Driver
- cJSON library### Steps
1. Clone the repository:
```bash
git clone [https://github.com/botirk38/concurrentServe]
```2. Navigate to the project directory:
```bash
cd [server]
```3. Compile the server:
```bash
make
```## Usage
To start the server, run the compiled executable:
```bash
./server
```The server will start listening for client connections on the specified port.
## API Endpoints
The server supports the following endpoints:
- `GET /resource`: Fetches data from the MongoDB database.
- `POST /resource`: Creates new data in the MongoDB database.
- `PUT /resource`: Updates existing data in the MongoDB database.
- `DELETE /resource`: Deletes data from the MongoDB database.## Contributing
Contributions to this project are welcome. Please fork the repository and submit a pull request with your changes.## License
This project is licensed under the [MIT License](LICENSE).## Contact
For any queries or contributions, please contact [[email protected]].