Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Chat Room (CN Project)

Overview

A lightweight chat room application written in C++, using Boost.Asio for asynchronous communication and multi-threading for handling multiple clients concurrently.

Features

  • Asynchronous I/O – Non-blocking message handling with Boost.Asio
  • Multi-threading – Concurrent client connections
  • Room Management – Add/remove clients & broadcast messages

Components

  • Session – Manages communication for each client
  • Room – Tracks participants and broadcasts messages
  • Message – Encodes/decodes headers & bodies
  • Server / Client – Entry points for hosting & joining
Screenshot 2025-08-19 215018

Web Server (OS Project-multi-threaded-proxy-server)

Overview

A C-based proxy server that supports both with and without cache modes. It leverages threads, semaphores, and locks to handle concurrent requests, while using an LRU cache to optimize response times.

Features

  • Multi-threading – Concurrent client request handling
  • Semaphore-based Synchronization – Safer than condition variables
  • Caching (LRU) – Faster responses for repeated requests
  • Proxy Capabilities – Request filtering, IP masking, reduced load

OS Concepts Used

  • Threads
  • Locks
  • Semaphores
  • Cache (LRU)

Limitations

  • Fixed cache size (large sites may not be stored)
  • Same URL with multiple clients can cause cache inconsistency

In the given picture, you can see that the first time it says "URL not found", but when the same request is hit again, it says "Data retrieved from the cache".

Screenshot 2025-08-19 175513 Screenshot 2025-08-19 175549

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages