Skip to content

A real-time chat application built in C++ using Berkeley Sockets. Supports cross-platform functionality for Windows, Linux, and Unix-like systems.

License

Notifications You must be signed in to change notification settings

Kiremate/RealTimeChat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Real Time Chat in C++ using Berkeley Sockets 💬

Overview 📖

This project aims to demonstrate the usage of Berkeley Sockets to create a real-time chat application. The application is platform-agnostic, with support for Windows, Linux, and Unix-like systems. The project uses object-oriented programming and factory patterns to encapsulate socket functionality, making it easy to use and extend.

Features ✨

  • Cross-platform support (Windows, Linux, Unix-like)
  • UDP and TCP protocols (UDP for future implementations)
  • Scalable and extendable architecture
  • Factory patterns for easy object creation

Headers 📁

  • PlatformErrorIncludes.h: Includes platform-specific headers for error handling.
  • PlatformSocketIncludes.h: Includes platform-specific headers for socket programming.
  • SocketAddress.h: Provides a class for handling IP addresses and ports.
  • SocketAddressFactory.h: Factory class for creating SocketAddress objects.
  • SocketFactory.h: Factory class for creating TCPSocket and UDPSocket objects.
  • SocketUtil.h: Utility functions for reporting and handling errors.
  • TCPSocket.h: Class that encapsulates TCP socket functionality.
  • UDPSocket.h: Class that encapsulates UDP socket functionality.

Source Files 📂

  • main.cpp: The entry point for the application.
  • TCPSocket.cpp: Implementation of TCPSocket class.
  • UDPSocket.cpp: Implementation of UDPSocket class.

Installation & Running 🚀

Note

Still in development

Windows 🪟

  • Visual Studio installed with C++ Support
  • Open the .sln build the project

Linux / Unix 🐧

  • Ensure you have g++ and make installed on your system.
sudo apt update
sudo apt install build-essential
  • Open terminal and navigate to the project directory.
cd /RealTimeChat
  • Run the following command to compile the project:
g++ -o RealTimeChat src/*.cpp
  • Run the output binary to start the program
./RealTimeChat

Author 👤

Bloodmask

License📜

License This project is licensed under the MIT License.

About

A real-time chat application built in C++ using Berkeley Sockets. Supports cross-platform functionality for Windows, Linux, and Unix-like systems.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published