146

boost 网站上提供的文档是……有限的。

从我所阅读的内容来看,普遍的共识是很难在 boost::asio 库上找到好的文档。

真的是这样吗?如果是这样,为什么?

笔记:

  • 我已经找到了(非 boost)Asio 网站- 文档看起来与 boost 网站上的相同。
  • 我知道 Boost::asio 是新的!我正在寻找解决方案而不是借口。

编辑:

  • Boost:asio (Christopher Kohlhoff) 的作者提出了将网络库添加到 TR2 标准库的建议。虽然它不是 boost:asio 的文档,但它确实将其用作 TR2 提案的基础。由于作者在此文档中投入了更多精力,因此我发现它有些帮助,如果不是作为参考,那么至少可以作为概述。
4

9 回答 9

67

可以在http://en.highscore.de/cpp/boost/index.html上的(免费)boost book 中找到一些关于 boost 的不错的文档,包括关于 asio 的一章。关于 asio 的章节提供了一个总体概述,然后就如何开发您自己的自定义 asio 扩展进行了深入探讨。Boris Schäling 的努力真的很棒!

于 2010-07-12T09:57:44.750 回答
58

首先,我使用 Boost.Asio 已经有一段时间了——我和你一样担心。要解决您的问题:

  • 除了介绍和教程之外,关于 Boost.Asio 的文档确实非常稀缺。我不是作者,但这主要是因为对于像异步 IO 库这样低级的东西,要记录的东西太多了。
  • 这些示例比教程提供的更多。如果您不介意花一点时间查看不同的示例,我认为它们应该足以让您入门。如果您想逃避它,那么参考文档应该对您有很大帮助。
  • 在 Boost 用户和 Boost 开发人员邮件列表中询问您是否真的遇到困难或正在寻找具体的指导。我很确定很多人会愿意在邮件列表中解决您的问题。

有一些努力(不是 Boost.Asio 的一部分)来公开许多功能和可能的替代用例。这充其量是散布在网络上的博客和其他形式的非打包文档中。

一件尚不清楚并且真正需要与 Boost.Asio 库的作者和开发人员密切协调的事情是针对特定平台扩展和定制它或添加特定的新功能。虽然这应该得到改进,但好在看起来 Asio 将成为未来标准库技术报告(用于 STL 中的异步 IO 库)的参考实现。

于 2008-10-28T19:45:07.263 回答
42

我写了两篇小文章,可以作为 boost.asio 的介绍。它们可从我的网站获得

于 2009-02-05T09:48:08.690 回答
30

注意:我已联系 gamedev.net 让他们知道格式问题。不幸的是,在撰写此评论时,此资源更难推荐,因为他们的网站进行了一些更改,这些更改隐藏/删除了#include 语句+缺少的 .zip 文件资源。

可以在此处找到一个相对较新且非常好的 Boost.Asio 初学者教程(还介绍了如何有效地使用它与 bind、shared_ptr 和线程):

http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting-started-with-boostasio?pg=1

注意:如果您使用 c++0x 功能,则可以将 bind 用于创建函子的许多简单用途替换为 lambda,并且 shared_ptr/bind 也可在最新版本的 Visual Studio(或还包括线程的 gcc .)

当我在搜索文档或教程时,这个问题不断出现在搜索结果的顶部,因此随着新教程的出现,保持更新很重要。

于 2011-05-03T23:00:21.520 回答
23

一旦您通过了官方的 boost asio 概述,我发现 3 个视频很有帮助:

于 2012-02-05T08:29:19.680 回答
8

asio 文档是 boost 中可用的文档,极简但非常精确,每个单词都很重要。也就是说,我主要从 SO 学习了 asio(并继续学习)。

在我看来,' Confused when boost::asio::io_service run method blocks/unblocks '的答案是第一步,再读一遍,直到你真正理解它,第二个答案也很有帮助。

然后我订阅了最新的 SO boost-asio 标签问题和这两个回答者的 RSS:

上面答案的作者Tanner Sansburry,他的答案总是非常精确、全面,有参考,甚至是漂亮的模式。RSS feed
Sehe(对不起,Sehe,只有第二个)。RSS订阅

有了所有这些材料,您很快就会成为 asio 专家!

于 2014-11-05T09:16:18.327 回答
7

我对此也很好奇,但这个页面给了我一些先机。它是法语的,但你可以使用非常易读的谷歌翻译(我必须自己沿着这条路走)。

http://gwenael-dunand.developpez.com/tutoriels/cpp/boost/asio/

于 2009-11-06T19:38:15.063 回答
0

我偶然发现了以下pdf: http ://boost.cowic.de/rc/pdf/asio_doc.pdf

于 2010-07-14T12:54:10.683 回答
0

聚会有点晚了,但有一本书叫“Boost Asio Network Programming”(Packt 出版)。

我买了一本,周末读了一遍,然后用 C++ 写了一个完整的服务器,没有什么问题。

免责声明:我与这本书无关

于 2016-02-05T21:37:55.410 回答