DEV Community

Yadunand Kamath
Yadunand Kamath

Posted on

Built a Real-time Chat Application using C++

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






You can download the app on Windows by following the steps shown in the Github repo.

Top comments (1)

Collapse
 
marriam_haji_388d02083bb7 profile image
Marriam Haji

Hey can we talk. I wanted to ask about some code. Please