2008-10-28 67 views
125

boost website上的文档是有限的。Boost的最佳文档:asio?

从我已经能够读到的,一般的共识是,很难找到有关boost :: asio库的很好的文档。

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

注:

  • 我已经找到了(非升压)Asio website - 和文档看起来是等同于提升网站上。
  • 我知道Boost :: asio是新的!我正在寻找解决方案,而不是找借口。

编辑:

  • 有通过升压的作家写的proposal to add a networking library to standard library for TR2:ASIO(克里斯托弗Kohlhoff)。虽然它不是boost:asio的文档,但它确实将它用作TR2提议的基础。由于作者在这份文件中加入了更多的努力,我发现它作为一个参考文件有一定的帮助,至少作为一个概述。

回答

52

首先,我已经使用了Boost.Asio很长一段时间了 - 我同意你的关注。为了解决你的问题:

  • 真的有关于Boost.Asio的文档很少,除了介绍和教程。我不是作者,但这主要是因为有太多的东西需要记录像Asynchronous IO Library这样的低级别的东西。
  • 这些例子比教程做得更多。如果你不介意花一点时间看看不同的例子,我会认为他们应该足以让你开始。如果你想逃避它,那么参考文档应该会帮助你很多。
  • 在Boost用户和Boost开发人员邮件列表中询问是否真的卡住或寻找特定的指导。我很确定很多人会愿意解决你在邮件列表中的问题。

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

有一件事情尚不清楚,哪些需要与Boost.Asio库的作者和开发者密切协调,只要为特定平台进行扩展和定制即可,或者添加特定的新功能。这应该有所改进,但好处是它看起来像Asio将来是一个标准库技术报告的参考实现(对于STL中的异步IO库)。

+1

感谢。 不幸的是,我试图从这些例子中学习,但体面但有限的成功。 不幸的是,我无法证明使用一个包含一组示例作为一组指令的库。 我可能听从你的建议问ML,但热切期待更好的支持! – mmocny 2008-10-28 20:07:47

+0

我只是把两个和两个在一起。 我发现Google搜索引擎的顶级搜索引擎之一(而且最具信息性的文章),但是在您的博客上使用Google搜索引擎提升搜索引擎优化功能后,我发现了其中一条:) – mmocny 2008-10-28 21:02:08

+0

是的,但我不想在公开场合说出来。 ;)Chis Kholhoff(作者)也有一个博客,他在其中谈论很多关于Asio的内容,以及如何在不常见的情况下使用它。 – 2008-10-29 01:05:57

39

我写了两篇小文章,可以用作boost.asio的介绍。他们可以从my site

60

升压包括ASIO的一章一些不错的文档可以在一个(免费的)升压书在http://en.highscore.de/cpp/boost/index.html找到。关于asio的章节提供了一个总体概述,然后就如何开发自己的定制asio扩展。 BorisSchäling真的很棒!

30

一个比较新的和非常好的入门教程Boost.Asio的(也介绍了如何使用绑定,shared_ptr的,和线程有效地使用它)可以在这里找到:

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

注:如果您使用的C++ 0x功能很多绑定的创建仿函数简单的用途可以用lambda表达式替换,并shared_ptr的/绑定也可在最新版本的视觉工作室(或gcc其中也包括)

当我搜索文档或教程时,这个问题不断出现在搜索结果的顶部,所以当新的教程出现时,保持它的更新非常重要。

4

的ASIO文件,在提升的一个可用的,是简约但非常精确的,每个字是显著。也就是说,我主要从SO学习了ASIO(并继续学习)。

在我看来,在answer为“困惑时的boost ::支持ASIO :: io_service对象的run方法块/疏导”是第一步,阅读再阅读,直到你真正了解它,second answer也很有帮助。

然后我就RSS订阅newest SO boost-asio tag question和这两个回答者:

Tanner Sansburry,答案笔者上面,他的回答总是很准确的,全面的,与文献,甚至beautiful schema秒。 RSS feed
Sehe(对不起,Sehe,只有第二)。 RSS feed

所有的材料,你很快就会成为一个专家!

0

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

我买了一个这个副本,在周末阅读它,然后用C++编写完整的服务器,没有太大问题。

免责声明:我没有什么可用于确认怀疑做的书