这个问题与我之前的另一个问题有关。
写操作完成时调用的 boost::asio::async_write 处理函数本身参与写操作会导致问题吗?
例子
void on_write(const boost::system::error_code & error_code){
if (! error_code){
std::string some_data_to_transfer("hello world");
std::vector<char> vec_buf(some_data_to_transfer.begin(),some_data_to_transfer.end());
boost::asio::async_write(this->socket,boost::asio::buffer(vec_buf),
boost::asio::transfer_exactly(vec_buf.size()),
boost::bind(&Server::on_write,this->shared_from_this(),
boost::asio::placeholders::error));
}
}