请问我应如何在一个形如boost::asio官方示例的异步tcp server中进行正确的交替的读/写操作
目前我的代码如下:
boost::asio::async_write(socket,boost::asio::buffer(msg),
[this](const boost::system::error_code& ec,std::size_t){
if(!ec){
boost::array<char,2> buf;
boost::asio::async_read(socket,boost::asio::buffer(buf,2),[this,&buf](const boost::system::error_code& _ec,std::size_t){
if(!_ec){
std::cout<<"read end\n";
}
else throw boost::system::system_error(_ec);
});
}
else throw boost::system::system_error(ec);
});
但当我运行时,我在运行async_read后,抛出了.what()为Bad file descriptor的system_error
请问我应如何正确编写这段代码以达到我的目的?