boost website上提供的文档是有限的。
从我能够阅读的内容来看,普遍的共识是很难在boost :: asio库上找到好的文档。
这是真的吗?如果是这样,为什么?
笔记:
编辑:
首先,我已经使用Boost.Asio已经有一段时间了 - 我也有同感。要解决您的问题:
有很多工作(不是Boost.Asio的一部分)来暴露很多功能和可能的替代用例。这充其量只是分散在博客和其他形式的非打包文档中。
有一点不清楚,哪些真正需要与Boost.Asio库的作者和开发人员密切协调,就像为特定平台扩展和定制它或添加特定的新功能一样。这应该有所改进,但好处是看起来Asio将来会成为标准库技术报告(对于STL中的异步IO库)的参考实现。
关于提升的一些很好的文档,包括关于asio的章节,可以在http://en.highscore.de/cpp/boost/index.html的(免费)推进书中找到。关于asio的章节提供了一般概述,然后介绍了如何开发自己的自定义asio扩展。 BorisSchäling真的很棒!
我写了两篇小文章,可以作为boost.asio的介绍。它们可从my site获得
注意:我已联系gamedev.net,让他们了解格式问题。不幸的是,在撰写此评论时,由于其网站的某些更改隐藏/删除#include语句+缺少.zip文件资源,因此更难以推荐此资源。
Boost.Asio的一个相对较新且非常好的初学者教程(也介绍了如何有效地使用bind,shared_ptr和threads)可以在这里找到:
http://www.gamedev.net/blog/950/entry-2249317-a-guide-to-getting-started-with-boostasio?pg=1
注意:如果你正在使用c ++ 0x功能,那么创建一个仿函数的bind的许多简单用法都可以用lambdas替换,而shared_ptr / bind也可以在最新版本的visual studio中使用(或gcc也包含线程) 。)
当我在搜索文档或教程时,这个问题不断出现在搜索结果的顶部,因此在新教程出现时保持更新非常重要。
一旦你通过官方提升asio概述,我发现了3个我发现有用的视频:
和
我对此也很好奇但是这个页面给了我一些良好的开端。它是法语,但你可以使用google翻译,这是非常可读的(我必须自己遵循这条路径)。
http://gwenael-dunand.developpez.com/tutoriels/cpp/boost/asio/
asio文档,可用于boost,是极简主义但非常精确,每个单词都很重要。也就是说,我主要从SO学习asio(并继续学习)。
在我看来,answer到'混淆时加速:: asio :: io_service运行方法阻止/解锁'是第一步,再读一次读取直到你真正理解它,second answer也很有帮助。
然后我订阅了newest SO boost-asio tag question的RSS和这两个回答者:
Tanner Sansburry,上面的答案的作者,他的答案总是非常精确,全面,有参考,甚至beautiful schemas。 RSS feed Sehe(对不起Sehe,只有第2名)。 RSS feed
有了所有这些材料,您很快就会成为一名专家!
派对有点晚了,但有一本名为“Boost Asio Network Programming”(Packt出版)的书。
我买了一份这个,在周末阅读,然后在C ++上写了一个完整的服务器没有太多问题。
免责声明:我与这本书无关
我偶然发现了以下pdf:http://boost.cowic.de/rc/pdf/asio_doc.pdf