boost.asio 学习笔记01——概述
2013-05-23 14:03
375 查看
boost.asio为异步IO提供了一份标准的C++的跨平台实现,特别针对网络IO提供了良好的支持,使之成为C++网络编程利器。关于如何使用asio,boost文档中已经有了详尽说明,而且附带的例子也很直观,我们不必再造轮子;本文则结合asio的基本应用,侧重于源代码的分析,特别是针对windows平台上的实现进行分析。
纵观asio源码,在统一的接口层之下,asio提供了大量的类来支持不同的平台(Windows、Unix...)、不同的IO类型(同步、异步)及IO模型(IOCP、Select、Poll)及网络协议(TCP,UDP,ICMP)。归纳起来,这一大堆类可以分为三层,分别是:
IO Object层
basic_ 模版层
服务实现层
本系列文章从io_service类型入手,开启代码分析行程,采用自底向上的方法,逐层推导,最后得到asio的体系结构;如果想先了解asio的整体结构,可以先跳到asio体系结构部分。
(理论上来说,行文伊始还是该先举个简单的例子说一下asio如何使用,不过这样的例子少说也要六七十行代码,为节约篇幅就不贴了;真想先看一个完整例子的,烦请移步下面链接瞧下那只麻雀:http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/tutorial/tutdaytime3/src.html)
纵观asio源码,在统一的接口层之下,asio提供了大量的类来支持不同的平台(Windows、Unix...)、不同的IO类型(同步、异步)及IO模型(IOCP、Select、Poll)及网络协议(TCP,UDP,ICMP)。归纳起来,这一大堆类可以分为三层,分别是:
IO Object层
basic_ 模版层
服务实现层
本系列文章从io_service类型入手,开启代码分析行程,采用自底向上的方法,逐层推导,最后得到asio的体系结构;如果想先了解asio的整体结构,可以先跳到asio体系结构部分。
(理论上来说,行文伊始还是该先举个简单的例子说一下asio如何使用,不过这样的例子少说也要六七十行代码,为节约篇幅就不贴了;真想先看一个完整例子的,烦请移步下面链接瞧下那只麻雀:http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/tutorial/tutdaytime3/src.html)
相关文章推荐
- boost.asio 学习笔记01——概述
- boost.asio 学习笔记01——io_service类
- boost.asio 学习笔记07——总结
- boost asio io_service学习笔记
- boost asio io_service学习笔记
- boost.asio 学习笔记04——asio的体系结构
- boost.asio 学习笔记 1-3
- boost asio io_service学习笔记
- boost.asio学习笔记一、linux下boost库的安装
- boost.asio 学习笔记05——asio的windows实现
- boost.asio 学习笔记04 ,06
- 黑马程序员——学习笔记01.Java基本概述
- boost.asio 学习笔记06——其他
- boost_asio学习笔记[2] - 客户端异步通讯
- 《大型网站技术架构》学习笔记-01概述
- 01-NoSql入门和概述学习笔记
- Boost asio学习笔记—— 网络编程
- boost.asio 学习笔记05 asio的windows实现
- boost asio io_service学习笔记
- boost.asio 学习笔记02——io_service类