选择boost::asio中的功能

Select functionality in boost::asio

本文关键字:功能 asio boost 选择      更新时间:2023-10-16

我将在我的项目中使用boost::asio库。但它不是很明显哪个函数对应于select()从本地套接字C库。在亚洲有卖吗?或者boost是否提供了另一种方法来发现套接字是否准备好了?

Boost.Asio的高层设计基于Proactor设计模式。因此,您不需要对select进行轮询。相反,提交异步操作的完成处理程序,当操作完成时,完成处理程序被调用。

文档中有一个专门的章节用于将BSD套接字API调用映射到它们各自的Asio等效

poll(), select(), pselect()

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

注意:与异步操作一起使用

请注意,这些io_service方法之间存在细微的差异,选择正确的方法将取决于您的应用程序设计。

Asio确实使用null_buffers提供了类似select的功能。https://stackoverflow.com/a/4686523/1134207详细说明