A real-time messaging application built using C, SDL2, and Windows Sockets. This project brings together low-level networking with a graphical user interface to simulate a simple but interactive client-server chat system.
This project is a real-time chat application written in C that showcases the power of integrating multimedia libraries with network communication. It consists of two parts:
- Client: A graphical interface powered by SDL2 where users can type and send messages.
- Server: A background console program that handles multiple client connections and message routing.
Messages are sent over TCP using Windows Sockets, and the client displays them using SDL_ttf fonts on a custom background. Notifications are enhanced with sound effects, and all chat history is logged for future reference.
- Interactive GUI: Clean SDL2 interface with background image and custom fonts.
- Real-Time Messaging: Chat system using TCP sockets for instant communication.
- Sound Alerts: Receive audio notifications every time a message arrives.
- Chat Logging: Messages are stored locally in a history file.
- Multi-User Support: The server can manage connections from multiple clients.
- Efficient Networking: Uses
ws2_32for robust Windows socket programming.
The core of the application combines C’s performance with the flexibility of SDL2’s multimedia capabilities. By blending text rendering, image display, and sound with classic socket programming, the project provides an engaging desktop-based communication system — all from scratch in C.