https://github.com/tpstark137/connectpro
Multi-client chatroom application developed in C++ using socket programming
https://github.com/tpstark137/connectpro
cpp socket-programming
Last synced: over 1 year ago
JSON representation
Multi-client chatroom application developed in C++ using socket programming
- Host: GitHub
- URL: https://github.com/tpstark137/connectpro
- Owner: tpstark137
- Created: 2024-09-12T12:59:04.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-23T18:18:22.000Z (almost 2 years ago)
- Last Synced: 2025-01-25T16:13:07.197Z (over 1 year ago)
- Topics: cpp, socket-programming
- Language: C++
- Homepage:
- Size: 4.88 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ConnectPro: Real-Time Chat Application
## Overview
**ConnectPro** is a multi-client chatroom application developed in C++ using socket programming and multi-threading. This application allows multiple users to connect and communicate with each other in real-time.
## Features
- **Multi-client support**: Multiple users can connect to the chatroom simultaneously.
- **Real-time communication**: Messages sent by any user are broadcasted to all connected users.
- **Socket programming**: Utilizes TCP/IP sockets for network communication.
- **Multi-threading**: Ensures that the server can handle multiple clients at the same time by assigning a dedicated thread to each connected client.
## Tech Stack
- **C++**
- **Socket Programming**
- **Multi-threading**
## Installation and Setup
### Prerequisites
- A C++ compiler (e.g., g++)
- Basic knowledge of socket programming
- Linux or Windows environment (Linux preferred for socket programming)
### Steps to Setup:
1. Clone the repository:
```bash
git clone https://github.com/your-username/connectpro.git
```
2. Navigate to the project directory:
```bash
cd connectpro
```
3. Compile the server and client files:
```bash
g++ server.cpp -o server -lpthread
g++ client.cpp -o client
```
4. Run the server:
```bash
./server
```
5. In a new terminal window, run the client:
```bash
./client
```
## Usage
- Start the server first.
- Run the client on different terminals (or machines) to simulate multiple users.
- Once connected, users can start sending messages, and the server will broadcast these messages to all connected users.
## Future Enhancements
- Adding user authentication.
- Introducing private messaging between clients.
- Implementing a graphical user interface (GUI).
- Enhancing security with encryption.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Contributing
Feel free to contribute to this project by creating a pull request or raising an issue.
## Contact
For any queries or issues, reach out at:
- **GitHub**: [tpstark137](https://github.com/tpstark137)