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:

GitHub logo yadunand-kamath / SyncStream

A Windows client-server application that allows users to broadcast messages to other connected users in real-time.

SyncStream logo

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:

SyncStream Server- Demo

Technologies Used

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)

  1. Clone the Repository:

    git clone https://github.com/yadunand-kamath/SyncStream.git
    Enter fullscreen mode Exit fullscreen mode
  2. Open the Solution in Visual Studio:

    • Navigate to the cloned repository folder.
    • You will find two project folders: ChatClient and ChatServer. Each folder contains a Visual Studio solution file (.sln).
    • Open the ChatClient/ChatClient.sln and ChatServer/ChatServer.sln in Visual Studio.
  3. Build the Projects:

    • In Visual Studio, select the desired build configuration (e.g., Debug or Release