
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.
SyncStream.Client.-.Demo.mp4
- Modern C++
- Microsoft Foundation Class (MFC) Library
- Winsock API
- Visual Studio 2022
- Logo credits: Communication icons created by Vectors Market - Flaticon
- 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.
-
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
) and architecture (e.g.,x64
orWin32
). - Build both the
ChatServer
andChatClient
projects by going to Build > Build Solution.
- In Visual Studio, select the desired build configuration (e.g.,
-
Run the Server:
- Navigate to
ChatServer/x64/Release/ChatServer.exe
or click here and download the executable. - Run the
ChatServer.exe
executable. The server window will open, indicating that it's listening for connections.
- Navigate to
-
Run the Client(s):
- Navigate to
ChatClient/x64/Release/ChatClient.exe
or click here. - Run the
ChatClient.exe
executable. The client application window will open. - In the client application, enter the IP address of the machine where the server is running (if the server is running on the same machine, you can use
127.0.0.1
). - Enter a username and click "OK" to connect to the server.
- You can run multiple instances of the client on different machines (or the same machine) to simulate a multi-user chat.
- Navigate to
-
Chatting:
- Once connected, you can type messages in the message input box at the bottom of the client window and click "Send" (avoid pressing "Enter" as it will close the application).
- Messages sent by you and other connected users will appear in the main chat window, along with timestamps.
- 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.