This repository contains implementations of single-threaded and multi-threaded client-server communication using Java Socket Programming.
- Single-threaded Server → Can handle only one client at a time.
- Multi-threaded Server → Can handle multiple clients simultaneously using threads.
This project demonstrates the difference between synchronous and concurrent server architectures.
- Java (JDK 8+)
- Socket Programming (TCP/IP)
- Threading & Concurrency
- Clone the repository:
git clone https://github.com/Tanukash12/Single-Multi-Threaded.git
- Navigate to either the SingleThreaded or MultiThreaded folder.
- Compile the code:
- Run the server: java Server
- Run one or more clients(MultiThreaded): java Client
MultiThreaded/→ Contains Server & Client (multi-threaded)SingleThreaded/→ Contains Server & Client (single-threaded)README.md→ Documentation
- Hands-on experience with Java Networking (Socket, ServerSocket).
- Built and compared single-threaded vs. multi-threaded server models.
- Practical understanding of thread management and concurrency in real-time communication.

