问题与Boost.Asio HTTP Server 1示例:

时间:2015-11-05 18:11:04

标签: c++ boost boost-asio

以下是boost官方http服务器示例的一部分:

connection_manager.cpp

中的

connection_manager :: stop_all方法

void connection_manager::stop_all()
{
  std::for_each(connections_.begin(), connections_.end(),
      boost::bind(&connection::stop, _1));
  connections_.clear();
}
{p <3}}

中的

connection :: stop方法

void connection::stop()
{
  socket_.close();
}

connection_manager::stop_all方法是 从连接对象列表调用每个connection::stop方法并销毁所有连接对象。

connection::stop方法正在关闭套接字,socket::close()方法将使用operation_aborted错误调用connection::handle_readconnection::handle_write处理程序。

右?

然后,如果“连接对象已经被破坏后调用处理程序”的情况怎么办?

我认为这种情况会导致一些意想不到的错误......不是吗? (以及如何处理这种情况?)

0 个答案:

没有答案