我正在使用echo服务器boost所提供的代码示例来尝试与我的一个客户端进行交互。
但是,当我尝试将boost::asio::async_read_some
替换为boost::asio::async_read
时,我注意到只有在连接被终止时才会调用后者,而从以下任何一个发送消息时都会调用read_some。我的客户。我在做什么错了?
我用以下内容替换了do_read()的内容:
void do_read()
{
auto self = shared_from_this();
boost::asio::async_read(socket_, data_, [this, self](boost::system::error_code ec, size_t l) {
if (!ec)
do_write(l);
});
}