2013-01-20 17 views
9

我将为我的项目使用boost :: asio lib。但是,从本地套接字c库中,哪个函数对应于select()并不是很明显。这在asio中可用吗?或者我们提供替代方法来找出套接字已准备就绪?在boost :: asio中选择功能

+1

+1这可能看起来像一个基本问题,但我发现asio库的新用户常常被这个概念所困惑。 –

回答

5

Boost.Asio的高层次设计基于Proactor desing pattern。因此,您不需要轮询select。相反,提交您的完成处理程序的异步操作,并且当操作完成 - 完成处理程序被调用。

6

文档具有specific section用于映射BSD套接字API调用转换成它们各自的短耳等效

poll()select()pselect()

io_service::run()io_service::run_one()io_service::poll()io_service::poll_one()

注意:结合n与异步操作。

注意,有各自的这些io_service方法之间的细微差别,选择正确的一个将取决于您的应用程序设计。