I built a real-time, multi-client chat application for Windows. It is a client-server model that communicates over TCP/IP. It allows multiple users to connect to a central server and broadcast messages to other connected users. I used multithreading to improve scalability and robustness.
Technologies Used:
- Modern C++
- Microsoft Foundation Class (MFC)
- Windows Sockets API
- Visual Studio 2022
Features:
- Real-time text-based communication.
- Multi-user support.
- Simple graphical user interface using MFC.
- Username registration upon connecting.
- Message broadcasting from server to all connected clients.
- Timestamps on messages.
- IP Address Control for specifying the server IP.
Check out more here:
yadunand-kamath
/
SyncStream
A Windows client-server application that allows users to broadcast messages to other connected users in real-time.

SyncStream
SyncStream is a real-time, multi-user chat application built for Windows. It allows multiple users to connect to a central server and broadcast text messages in real time.
Demo
Client:
SyncStream.Client.-.Demo.mp4
Server:
Technologies Used
- Modern C++
- Microsoft Foundation Class (MFC) Library
- Winsock API
- Visual Studio 2022
- Logo credits: Communication icons created by Vectors Market - Flaticon
Prerequisites
- For Users: Microsoft Visual C++ Redistributable 2015-2019 Download here
- For Developers: Visual Studio (with C++ and MFC support) and Microsoft Visual C++ Redistributable 2015-2019.
Setup and Installation (for Developers)
-
Clone the Repository:
git clone https://github.com/yadunand-kamath/SyncStream.git
-
Open the Solution in Visual Studio:
- Navigate to the cloned repository folder.
- You will find two project folders:
ChatClient
andChatServer
. Each folder contains a Visual Studio solution file (.sln
). - Open the
ChatClient/ChatClient.sln
andChatServer/ChatServer.sln
in Visual Studio.
-
Build the Projects:
- In Visual Studio, select the desired build configuration (e.g.,
Debug
orRelease
…
- In Visual Studio, select the desired build configuration (e.g.,