简单来说,Boost.Asio是一个跨平台的、主要用于网络和其他一些底层输入/输出编程的C++库。
Boost.Asio在网络通信、COM串行端口和文件上成功地抽象了输入输出的概念。你可以基于这些进行同步或者异步的输入输出编程。
作为一个跨平台的库,Boost.Asio可以在大多数操作系统上使用。能同时支持数千个并发的连接。它提供了一套可以支持传输控制协议(TCP)socket、用户数据报协议(UDP)socket和Internet控制消息协议(IMCP)socket的API,而且如果有需要,你可以对其进行扩展以支持自己的协议。
依赖
Boost.Asio依赖于如下的库:
Boost.System:这个库为Boost库提供操作系统支持
Boost.Regex:使用这个库(可选的)以便你重载read_until()或者async_read_until()时使用boost::regex参数。
Boost.Date_Time:这个库(可选的)为Boost.Asio中的计时器功能提供支持。
OpenSSL:这个库(可选的)为Boost.Asio中的SSL功能提供支持。