我將爲我的項目使用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庫的新用戶常常被這個概念所困惑。 –