Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.

C++11 Examples


This example shows how to customise the allocation of memory associated with asynchronous operations.


This example demonstrates how to create reference counted buffers that can be used with socket read and write operations.


This example implements a chat server and client. The programs use a custom protocol with a fixed length message header and variable length message body.


A collection of simple clients and servers, showing the use of both synchronous and asynchronous operations.


These POSIX-specific examples show how to use Boost.Asio in conjunction with the fork() system call. The first example illustrates the steps required to start a daemon process:

The second example demonstrates how it is possible to fork a process from within a completion handler.


This example demonstrates how to use std::future in conjunction with Boost.Asio's asynchronous operations.

Handler Tracking

This example shows how to implement custom handler tracking.

HTTP Server

This example illustrates the use of asio in a simple single-threaded server implementation of HTTP 1.0. It demonstrates how to perform a clean shutdown by cancelling all outstanding asynchronous operations.


An example showing the use of multicast to transmit packets to a group of subscribers.


Example demonstrating reactor-style operations for integrating a third-party library that wants to perform the I/O operations itself.


Example of using the boost::asio::spawn() function, a wrapper around the Boost.Coroutine library, to implement a chain of asynchronous operations using stackful coroutines.

UNIX Domain Sockets

Examples showing how to use UNIX domain (local) sockets.