我将为我的项目使用boost :: asio lib。但是,从本地套接字c库中,哪个函数对应于select()
并不是很明显。这在asio中可用吗?或者我们提供替代方法来找出套接字已准备就绪?在boost :: asio中选择功能
9
A
回答
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
方法之间的细微差别,选择正确的一个将取决于您的应用程序设计。
2
Boost.Asio确实使用null_buffers提供了一个类似功能的选择。 https://stackoverflow.com/a/4686523/1134207解释更多。
相关问题
- 1. boost :: asio服务器功能简单
- 2. boost :: asio :: async_read和boost :: asio :: streambuf
- 3. boost boost :: asio
- 4. Boost Asio单线程性能
- 5. boost :: asio no_delay不可能?
- 6. 功能选择中选择
- 7. 在boost线程中运行boost asio io_service
- 8. 功能在选择
- 9. boost asio deadline_timer
- 10. boost asio io_service.run()
- 11. Boost Asio message_flags
- 12. Boost asio set_option error
- 13. Boost :: asio和async_read
- 14. BOOST ASIO使用
- 15. Boost asio udp waitForReadyRead
- 16. Boost(.asio)链接
- 17. boost :: asio set_option error
- 18. Boost asio and winhttp
- 19. boost :: asio :: strand && boost :: lockfree :: spsc_queue
- 20. boost :: asio如何实现定时数据包发送功能?
- 21. 选择功能
- 22. 功能选择
- 23. boost :: asio :: windows :: stream_handle in boost 1.46.1在哪里?
- 24. 功能选择
- 25. 功能选择
- 26. 支持Boost中的SOCK_SEQPACKET :: asio
- 27. Boost :: asio不在Debian Wheezy上?
- 28. boost :: asio :: acceptor在win7挂断
- 29. 不能只接受TLS 1.2和boost :: asio?
- 30. boost :: asio :: strand post方法的性能
+1这可能看起来像一个基本问题,但我发现asio库的新用户常常被这个概念所困惑。 –