boost::asio::async_write函数有什么用
What is the use of boost::asio::async_write function
谁能帮我看看这段代码,这里的“boost::asio::async_write”函数有什么用
它是否将确认发送回客户端?
void handle_read(const boost::system::error_code& error,
size_t bytes_transferred)
{
if (!error)
{
boost::asio::async_write(socket_,
boost::asio::buffer(data_, bytes_transferred),
boost::bind(&session::handle_write, this,
boost::asio::placeholders::error));
}
else
{
delete this;
}
}
这看起来像是来自“回声服务器”示例。 async_write
将 boost::asio::buffer(data_, bytes_transferred)
的内容写入套接字。
因为我们在 handle_read
里面,我们可以猜测这个函数本身是一个可能的 async_read
调用的完成处理程序,它填充了 data_
缓冲区。由于我们使用 async_read
(bytes_transferred
) 报告的确切字节数,并且在 data_
上没有可见的操作,我们可以假设这只是发送了准确的消息(或一般数据) ) 收到 socket_
。如果 socket_
也是 async_read
中的端点,这就是 echo server.
的定义
谁能帮我看看这段代码,这里的“boost::asio::async_write”函数有什么用
它是否将确认发送回客户端?
void handle_read(const boost::system::error_code& error,
size_t bytes_transferred)
{
if (!error)
{
boost::asio::async_write(socket_,
boost::asio::buffer(data_, bytes_transferred),
boost::bind(&session::handle_write, this,
boost::asio::placeholders::error));
}
else
{
delete this;
}
}
这看起来像是来自“回声服务器”示例。 async_write
将 boost::asio::buffer(data_, bytes_transferred)
的内容写入套接字。
因为我们在 handle_read
里面,我们可以猜测这个函数本身是一个可能的 async_read
调用的完成处理程序,它填充了 data_
缓冲区。由于我们使用 async_read
(bytes_transferred
) 报告的确切字节数,并且在 data_
上没有可见的操作,我们可以假设这只是发送了准确的消息(或一般数据) ) 收到 socket_
。如果 socket_
也是 async_read
中的端点,这就是 echo server.