質問
boostウェブサイトで利用可能なドキュメントは...制限されています。
私が読んだことから、一般的なコンセンサスは、boost :: asioライブラリに関する優れたドキュメントを見つけることは単に難しいということです。
これは本当ですか?もしそうなら、なぜですか?
注:
- すでに(非ブースト) Asioウェブサイトを見つけました-ドキュメントは同じように見えますブーストWebサイトでそれを行います。
- Boost :: asioが新しいことを知っています!言い訳ではなく解決策を探しています。
編集:
- ネットワークを追加する提案がありますBoost:asio(Christopher Kohlhoff)の作者によって書かれたTR2の標準ライブラリへのライブラリ。 boost:asioのドキュメントではありませんが、TR2提案のベースとして使用しています。著者はこのドキュメントにもっと努力を注いでいるので、参考としてではなく、少なくとも概要としては多少役立つと思います。
解決
最初に、私はかなり前からBoost.Asioを使用しています。そして、あなたの懸念を共有しています。質問に対処するには:
- Boost.Asioの紹介とチュートリアルは別として、本当に非常に少ないドキュメントがあります。私は著者ではありませんが、これは主に、非同期IOライブラリのような低レベルの何かについて文書化することが多すぎるためです。
- これらの例は、チュートリアルよりも多くのものを提供します。さまざまな例を見て少し時間をかけても構わないのであれば、開始するのに十分だと思います。あなたがそれで逃げたいなら、リファレンスドキュメントはあなたを大いに助けるはずです。
- あなたが本当に行き詰まっている場合、または特定のガイダンスを探している場合は、Boost Users and Boost Developersメーリングリストを参照してください。多くの人がメーリングリストであなたの懸念に喜んで対処してくれると確信しています。
多くの機能と可能な代替ユースケースを公開する努力があります(Boost.Asioの一部ではありません)。これは、せいぜいブログやその他の形式のパッケージ化されていないドキュメントでWebに散らばっています。
不明な点と、Boost.Asioライブラリの作成者および開発者との密接な調整が本当に必要なことの1つは、特定のプラットフォーム用に拡張およびカスタマイズするか、特定の新しい機能を追加することです。ただし、これは改善する必要がありますが、良い点は、Asioが将来標準ライブラリテクニカルレポート(STLの非同期IOライブラリ)のリファレンス実装になるように見えることです。
他のヒント
asioの章を含むブーストに関する素晴らしいドキュメントは、 http://en.highscore.de/cpp/boost/index.html 。 asioの章では、一般的な概要を説明した後、独自のカスタムasio拡張機能の開発方法について説明します。 Boris Schä lingによる本当に素晴らしい努力!
boost.asioの紹介として使用できる2つの小さな記事を書きました。 私のサイト
から入手できます。注:gamedev.netに連絡して、フォーマットの問題について知らせました。残念ながら、このコメントを書いている時点では、#includeステートメント+不足している.zipファイルリソースを非表示/削除するWebサイトの変更のため、このリソースを推奨するのはより困難です。
Boost.Asioの比較的新しく非常に優れた初心者向けチュートリアル(バインド、shared_ptr、およびスレッドで効果的に使用する方法も紹介しています)は次の場所にあります。
http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting-started-with-boostasio?pg=1
注:c ++ 0x機能を使用している場合、ファンクターを作成するためのバインドの単純な使用の多くはラムダに置き換えることができ、shared_ptr / bindはVisual Studioの最新バージョン(またはgccスレッドも含まれます。)
ドキュメントやチュートリアルを検索していたとき、この質問は検索結果の上部に表示され続けていたため、新しいチュートリアルが登場するたびに更新しておくことが重要です。
正式なブーストasioの概要を理解できたときに役立つと思う3つのビデオに出会いました:
そして
私もそれについて非常に興味がありましたが、このページはいくつかの有利なスタートを切りました。フランス語ですが、Google翻訳を使用するとかなり読みやすくなります(このパスを自分でたどる必要がありました)。
http://gwenael-dunand.developpez.com/tutoriels/cpp / boost / asio /
ブーストで利用できるasioのドキュメントは、ミニマリストですが非常に正確で、各単語は重要です。とは言っても、私はasioを主にSOから学びました(そして学び続けています)。
私の意見では、答えは「 boost :: asio :: io_service runメソッドがブロックされたときに混乱します」 / unblocks 'が最初のステップです。本当に理解するまでもう一度読み直してください。 2番目の答えはまた有用。
その後、最新のSO boost-asioタグの質問とこれらのRSSを購読しました2人の回答者:
Tanner Sansburry 、上記の回答の著者、彼の回答は常に非常に正確で包括的であり、美しいスキーマ。 RSSフィード
Sehe (ごめんなさいSehe、2番目だけ)。 RSSフィード
すべての資料が揃ったら、すぐにasioのエキスパートになります!
パーティーに少し遅れましたが、「Boost Asio Network Programming」という本が出ています。 (パケット公開)。
このコピーを購入し、週末に読んでから、C ++でサーバーに問題なく書き込みました。
免責事項:本とは関係ありません
次のpdfを見つけました。 http://boost.cowic.de/rc/pdf/asio_doc.pdf