A simple, lightweight, and easy-to-use Command Line Interface (CLI) chat application built in C++ and optimized for Linux.
This project allows users to connect to a central server and communicate with each other in a real-time terminal-based environment.
- Real-time Communication: Instantly send and receive messages.
- Client-Server Architecture: A robust model with a central server managing connections.
- Linux Optimized: Built and tested for Linux environments, specifically Ubuntu.
- Lightweight: Minimal resource footprint, runs smoothly in any standard terminal.
Follow these instructions to get a copy of the project up and running on your local machine for development and testing purposes.
You will need:
- A C++ compiler (
g++) - The
makebuild tool
For Ubuntu/Debian-based systems, install with:
sudo apt update && sudo apt install build-essentialVerify the installation:
g++ --version
make --versiongit clone https://github.com/your-username/ChatApplication.git
cd ChatApplicationUse the provided Makefile to compile the server and client executables.
The binaries will be placed in the ./build/ directory.
makeOpen a terminal window and start the server application:
./build/serverThe server will start listening for incoming client connections.
Open one or more new terminal windows to run the client application(s):
./build/clientEach client will connect to the server, and you can start sending messages.
-
Server:
- The server listens for new clients and relays messages between them.
- It must be started first and remain running for clients to connect.
- By default, it listens on a predefined port.
-
Client:
- Once connected, type your message and press Enter to send it to all other connected clients.
- Incoming messages will appear in your terminal in real time.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch
git checkout -b feature/AmazingFeature
- Commit your Changes
git commit -m 'Add some AmazingFeature' - Push to the Branch
git push origin feature/AmazingFeature
- Open a Pull Request
This project is distributed under the MIT License.
See LICENSE for more information.