Expanded Project Guides

Generated from: LEARN_CPP_NETWORK_PROGRAMMING.md

Project Index

# Project Difficulty Time Key Focus
1 DNS Query Tool (UDP Basics) Level 1: Beginner Weekend UDP Sockets, DNS Protocol, Binary Parsing
2 TCP Echo Server & Client (Blocking Sockets) Level 1: Beginner Weekend TCP Sockets, Client-Server Model
3 Multi-Client Chat Server (select/poll) Level 2: Intermediate 1 week I/O Multiplexing, Event-Driven Programming
4 TCP Port Scanner Level 2: Intermediate 1 week Connection States, Timeouts, Concurrent Connections
5 HTTP/1.1 Client (From Scratch) Level 2: Intermediate 1-2 weeks HTTP Protocol, Text Parsing, Keep-Alive
6 HTTP/1.1 Server (From Scratch) Level 3: Advanced 2 weeks HTTP Protocol, Request Routing, Static File Serving
7 JSON-RPC Server Level 2: Intermediate 1 week RPC, JSON Serialization, Protocol Design
8 Protocol Buffers Message Queue Level 3: Advanced 2 weeks Binary Serialization, Message Queues, Pub/Sub
9 High-Performance Server with epoll Level 3: Advanced 1-2 weeks Linux epoll, Non-Blocking I/O, Event Loop
10 HTTP Load Tester Level 3: Advanced 2 weeks Concurrent Connections, Statistics, Benchmarking
11 Thread Pool TCP Server Level 3: Advanced 2 weeks Concurrency, Thread Pool, Work Distribution
12 WebSocket Chat Server Level 3: Advanced 2 weeks WebSocket Protocol, HTTP Upgrade, Framing
13 HTTPS Client with OpenSSL Level 3: Advanced 1-2 weeks TLS/SSL, Certificate Validation, OpenSSL API
14 TLS Chat Server with Client Certificates Level 4: Expert 2 weeks Mutual TLS, PKI, Certificate Generation
15 io_uring Echo Server Level 4: Expert 2 weeks io_uring, True Async I/O, Ring Buffers
16 C++20 Coroutine HTTP Server Level 4: Expert 3 weeks C++20 Coroutines, Executors, Async Patterns
17 SOCKS5 Proxy Server Level 3: Advanced 2 weeks Proxying, SOCKS Protocol, Traffic Forwarding
18 Production HTTP/2 Server with Complete Features Level 5: Master 1-2 months HTTP/2, All Previous Concepts Combined