Boost C++ Libraries Home Libraries People FAQ More

Home | Reference | Tutorial | Examples | Design

Boost.Asio

Boost.Asio is a cross-platform C++ library for network programming that provides developers with a consistent asynchronous I/O model using a modern C++ approach.

Getting Started

The tutorial introduces the fundamental concepts required to use Boost.Asio, and shows how to use Boost.Asio to develop simple client and server programs.

The examples illustrate the use of Boost.Asio in more complex applications.

Dependencies

There is no need to build any of the Boost libraries to use most of Boost.Asio, and only the header files are required. However, some overloads of read_until and async_read_until require the Boost.Regex library. (Note: with MSVC or Borland C++ you may need to add -DBOOST_ALL_NO_LIB to your project settings to disable autolinking of the Boost.Date_Time and Boost.Regex libraries.)

To use the SSL support, OpenSSL is required. OpenSSL is not necessary to use the rest of Boost.Asio.

Supported Platforms

The following platforms and compilers have been tested:

Rationale

The Boost.Asio library is intended for programmers using C++ for systems programming, where access to operating system functionality such as networking is often required. In particular, Boost.Asio attempts to address the following goals:

Although the current incarnation of Boost.Asio focuses primarily on networking, its concepts of asynchronous I/O can be extended to include other operating system resources such as files.

Copyright © 2003 - 2006 Christopher M. Kohlhoff

Home | Reference | Tutorial | Examples | Design