プロジェクトにboost::asiolibを使用します。select()
しかし、どの関数がネイティブソケットClibから対応しているかははっきりしていません。それはasioで利用できますか?または、ブーストはソケットの準備ができているかどうかを確認するための代替手段を提供しますか?
6533 次
3 に答える
8
ドキュメントには、BSDソケットAPI呼び出しをそれぞれの同等のAsioにマッピングするための特定のセクションがあります
poll()
、、select()
_pselect()
io_service::run()
、、、、io_service::run_one()
_io_service::poll()
_io_service::poll_one()
注:非同期操作と組み合わせて。
これらの各方法には微妙な違いがあることに注意してio_service
ください。正しい方法を選択するかどうかは、アプリケーションの設計によって異なります。
于 2013-01-20T15:34:41.713 に答える
8
のハイレベルなデザインは、 ProactorのデザインパターンBoost.Asio
に基づいています。したがって、でポーリングする必要はありません。代わりに、非同期操作の完了ハンドラーを送信し、操作が完了すると、完了ハンドラーが呼び出されます。select
于 2013-01-20T12:37:08.883 に答える
5
Boost.Asioは、null_buffersを使用したselectlike機能を提供します。https://stackoverflow.com/a/4686523/1134207で詳細を説明しています。
于 2013-09-03T10:06:27.883 に答える