Back to projects

Technical project

TCP Chat Room

A multithreaded C++ chat application with framed TCP messages, group/private conversations, and an ImGui client.

Source & README
Two chat clients with synchronized presence updates
Multiple clients exchanging messages and receiving join/leave events. Report capture.

Project overview

Focus
Networking / message-driven systems
Platform
Windows / C++
Context
Games Engineering coursework

Messages and concurrency

Winsock TCP carries length-prefixed, typed messages for group/private chat, presence, and system notifications. Receive buffering handles fragmented and coalesced messages; thread-safe queues connect session I/O with event processing.

Message layout: length, type, and serialized body.
Message layout: length, type, and serialized body.

Client and operation

The Dear ImGui client provides an online-user list and group/private windows, with FMOD notification audio. The server uses TCP 65432 and clients default to localhost for multi-client testing.

This is a coursework communication prototype. Partial-write retries remain a transport limitation, so it should not be treated as a production messaging service. See the README for dependencies and setup.

GitHub / README · Report

View all projects