Asio - C++网络和IO开发包


Boost
跨平台
C/C++

软件简介

Asio 是一个跨平台的C开发包用来处理网络和低级I/O编程,通过先进的C方法为开发人员提供连续异步模型。

示例代码:

void handle_read(const asio::error_code& error,
size_t bytes_transferred)
{
if (!error)
{
asio::async_write(socket_,
asio::buffer(data_, bytes_transferred),
make_custom_alloc_handler(allocator_,
boost::bind(&session::handle_write,
shared_from_this(),
asio::placeholders::error)));
}
}

void handle_write(const asio::error_code& error)
{
if (!error)
{
socket_.async_read_some(asio::buffer(data_),
make_custom_alloc_handler(allocator_,
boost::bind(&session::handle_read,
shared_from_this(),
asio::placeholders::error,
asio::placeholders::bytes_transferred)));
}
}