boost.asio 学习笔记01——概述
来源:互联网 发布:骨性龅牙手术费知乎 编辑:程序博客网 时间:2024/04/29 14:50
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)
- boost.asio 学习笔记01——概述
- boost.asio 学习笔记01——概述
- boost.asio 学习笔记04——asio的体系结构
- boost.asio 学习笔记04——asio的体系结构
- boost.asio 学习笔记04——asio的体系结构
- boost.asio 学习笔记01——io_service类
- Boost::asio 学习笔记
- Boost asio学习笔记—— 网络编程
- boost.asio 学习笔记02——io_service类
- boost.asio学习笔记03——io objects
- boost.asio 学习笔记06——其他
- boost.asio 学习笔记07——总结
- Boost asio学习笔记之二—— 网络编程
- boost.asio 学习笔记02——io_service类
- boost.asio学习笔记03——io objects
- boost.asio 学习笔记06——其他
- boost.asio 学习笔记07——总结
- boost.asio 学习笔记02——io_service类
- 拓扑排序 基础
- netty4.0.x源码分析—ChannelPipeline
- android PopupWindow实现从底部弹出或滑出选择菜单或窗口
- sqlserver游标的使用
- Java基础<十二>_IO流(下)
- boost.asio 学习笔记01——概述
- C# 网络编程之webBrowser乱码问题及解决知识
- android手把手教你开发launcher(二)——列出安装的应用程序
- redis初识
- css怎样实现单行文字与图片垂直居中对齐,css怎样实现多行文字与图片垂直居中对齐,css怎样实现图片文字垂直居中对齐
- 动态规划解最长公共子序列问题LCS(longest common subsequence)
- Google China New Grad Test 2014 Round A Problem B
- boost.asio 学习笔记02——io_service类
- 拉伸四周"空白",中间内容不变的9Patch