Contemporary C++ in Action: Building a Client-Server App with C++20/23

Added:

Talk Setup
Library Tooling
Video Decoding
Networking Model
Executor Setup
Server Client
Module Benefits
Demo Result

Talk Setup

0:08
Playing Section
  • 1

    Motivates experiment to test C++ features in a real application.

  • 2

    Aims to build a client-server video streaming demo in 10 weeks.

  • 3

    Plans to use modern C++20/23 features like coroutines and ranges.

Familiarity with standard C++ syntax and the traditional compilation model, specifically header files, source files, and translation units.
Fundamental knowledge of client-server architecture and basic networking concepts (such as sockets and ports).
Basic understanding of concurrency and asynchronous programming paradigms (e.g., threads, futures, and callbacks).
Experience with the C++ Standard Template Library (STL), particularly standard containers, iterators, and basic algorithms.
Deep dive into the customization of C++ coroutines, including writing custom promise types, awaitables, and coroutine types.
Practical integration of C++ Modules into modern build systems like CMake, Meson, or build2 for large-scale projects.
Advanced utilization of C++20/23 Ranges and Views, including creating custom range adaptors and optimizing lazy evaluation.
Exploring C++26 execution frameworks, specifically the Sender/Receiver model (P2300) for structured concurrency.
23.1K views457likes1:20:20@CppConOriginal Release: 2022-12-23

Contemporary C++ combines C++20 and C++23 features—including coroutines, modules, ranges, concepts, expected types, and execution contexts—to create safe, composable, and maintainable applications. This talk demonstrates how these features work together in practice by building a complete client-server video streaming application that handles real-time networking, media decoding, and GUI rendering, proving that modern C++ enables clean, concise code that is both powerful and enjoyable to write.