当前位置:主页   - 电脑 - 程序设计 - C/C++
ASIO—下一代C++标准可能接纳的网络库(1)简单的应用
来源:网络   作者:九天雁翎   更新时间:2011-02-14
收藏此页】    【字号    】    【打印】    【关闭

  一、   综述

  第一次看boost::asio的文档,觉得非常详细,可是因为boost库的惯例,与其他boost库结合的比较紧密,而个人除了对一些很基础的boost库,比如智能指针,还有正则表达式boost::regex有所了解外,以前对boost库还是没有太多的了解的,为了很好的学习和了解boost::asio,我做了很多前期工作,到今天,总算可以正式的开始boost::asio的学习了,另外,今天,从使用开始,对asio的学习作为前段时间网络编程方面学习的一种延续,不是像其他boost库一样,仅仅会使用即可,我要的是深入其原理及精髓。。。。(其实已经知道boost::asio在windows下使用的是完成端口,在Linux下使用的是EPoll)

  基本上,asio的文档很详尽也是有道理的(从Overview,到Tutorial到Examples到Reference一共870页),作为一个封装良好的网络(接口?)库,虽然对普通的网络接口进行了很详尽的封装,但是因为网络程序本身的复杂性,asio在使用方式上的复杂度还是比较大,这在B.S.的语言中是,绝对复杂的事情需要相对复杂的工具来解决。

  二、   Tutorial

  首先,从使用上对ASIO库进行一定的了解,因为文档如此的详尽,Tutorial解释如此的精细,我就不再干C-C,C-V的工作了,也就为E文不太好的兄弟们稍微解释一下各个例子,大家可以对照boost::asio的文档来看。

  1.      Timer.1 - Using a timer synchronously(使用同步定时器)

  就连asio库的使用也是从”Hello world”开始,可见K&R影响之深远。此例解释了展示了asio库的基本使用,包括包含boost/asio.hpp头文件,使用asio需要有boost::asio::io_service对象。还有asio::deadline_timer的使用(在此例中的使用和sleep区别不大)

编缉推荐阅读以下文章

  • ASIO—下一代C++标准可能接纳的网络库(3)UDP网络应用
  • ASIO—下一代C++标准可能接纳的网络库(2)TCP网络应用
其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明