【发布时间】:2011-06-09 23:26:44
【问题描述】:
我目前第一次尝试将 boost::asio 用于一些简单的 tcp 网络,我已经遇到了一些我不确定如何处理的东西。据我了解 io_service.run() 方法基本上是一个循环,它一直运行到没有更多事情要做为止,这意味着它会一直运行到我释放我的小服务器对象为止。由于我已经设置了某种主循环,为了简单起见,我宁愿从那里手动更新网络循环,我认为 io_service.poll() 会做我想做的事,有点像这样:
void myApplication::update()
{
myIoService.poll();
//do other stuff
}
这似乎可行,但我仍然想知道这种方法是否存在缺点,因为这似乎不是处理 boost::asios io 服务的常用方法。这是一种有效的方法还是我应该在非阻塞额外线程中使用 io_service.run() ?
【问题讨论】:
标签: c++ networking tcp boost-asio