Skip to content
/ ProNet Public

ProNet is a lightweight, high-performance C++ networking application designed to connect professionals through direct peer-to-peer communication. Built with CMake, and nlohmann::json, the system includes a TCP server and client that exchange structured data such as user profiles and messages.

Notifications You must be signed in to change notification settings

gem870/ProNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ProNet

<<<<<<< HEAD
ProNet is a minimal yet professional client-server application built in modern C++ using Winsock and CMake. It enables structured peer-to-peer message exchange using JSON (via json.hpp) without relying on third-party libraries like Boost. It's designed to showcase clean architecture, real-time communication, and professional code organization in a native Windows environment.

Professional Networking App (Client-Server Model)

A lightweight C++ client-server networking application built using the Winsock API on Windows. This project demonstrates the networking fundamentals, socket programming, and clean software design principles. The app simulates a basic professional networking platform where users can connect and exchange messages.

Purpose

This project is designed to showcase:

  • Understanding of TCP socket communication using Winsock.
  • Clean separation of concerns between client and server logic.
  • Well-structured code with modern C++ practices.
  • Readable, documented code with proper error handling.

It can be extended to support multiple clients, user registration, or even integrate a database in the future.


Features

TCP connection between a client and server
Modular code with .cpp and .h separation
Basic message exchange functionality
Winsock initialization and teardown
Easily extensible architecture


Technologies Used

  • C++17
  • Winsock2 API
  • CMake
  • Ninja or MinGW Make
  • Windows (MINGW64 / MSYS2)

Project Structure

ProNet/ ├── client/ │ ├── Client.cpp # Client logic implementation │ └── Client.h # Client interface ├── server/ │ ├── Server.cpp # Server logic implementation │ └── Server.h # Server interface ├── shared/ │ ├── Message.h # Message structure for communication │ └── User.h # User structure ├── CMakeLists.txt # CMake build configuration └── README.md # Project description


Building the Project

Requirements

Setup Instructions

Clone the repo

   git clone https://github.com/gem870/ProNet.git
   cd ProNet
   
   //Create the build directory
   mkdir build && cd build

   //Run CMake
   cmake -G "Ninja" ..

   //Build the app
   cmake --build .

Run the executables Open two terminals:

   //Terminal 1 (server):
   ./server.exe
   //Terminal 2 (client):
   ./client.exe

7838905 (first commit)

About

ProNet is a lightweight, high-performance C++ networking application designed to connect professionals through direct peer-to-peer communication. Built with CMake, and nlohmann::json, the system includes a TCP server and client that exchange structured data such as user profiles and messages.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published