boost
AG_
这个作者很懒,什么都没留下…
展开
-
【boost】简单的Boost::asio 高性能C/S服务器模型
Boost::Asio 在底层封装的了操作系统的高效I/O模型。实现了很高的并发量和吞吐量。其中操作系统主要实现了两种I/O模型Reactor和Proactor。 接下来探讨一下两种I/O多路复用模式: 一般地,I/O多路复用机制都依赖于一个事件多路分离器(EventDemultiplexer)。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/write事件处理器转载 2017-10-24 14:07:40 · 978 阅读 · 0 评论 -
【boost】boost::asio(2)——io_service
一、IO模型 在asio框架中,同步的io主要流程如下: 应用程序必须有一个io_service对象. io_service对象负责连接应用程序与操作系统的IO服务. boost::asio::io_service io_service; 要执行IO操作应用程序需要一个像TCP Socket的IO对象: boost::asio:转载 2017-10-24 14:57:27 · 292 阅读 · 0 评论 -
【boost】boost::asio(1)--timer定时器
1.Timer.1 - 使用同步定时器 先完整介绍一下,后面的例子该省略的就省略了。 所有的Asio类只要简单的包含"asio.hpp"头文件便可使用: #include 因为本程序中使用了定时器,我们需要包含相应的的Boost.Date_Time 头文件来处理时间操作: #include 使用Asio的所有程序都至少需要转载 2017-10-24 14:13:45 · 329 阅读 · 0 评论 -
【boost】boost::asio(3)——socket编程
asio的主要用途还是用于socket编程,本文就以一个tcp的daytimer服务为例简单的演示一下如何实现同步和异步的tcp socket编程。 一、同步服务器版本 客户端 客户端的代码如下: [cpp] view plain copy //code of client #include转载 2017-10-24 15:02:14 · 370 阅读 · 0 评论 -
【boost】boost::asio(4)——buffer用法
1.创建buffer 在io操作中,对数据的读写大都是在一个缓冲区上进行的,在asio框架中,可以通过asio::buffer函数创建一个缓冲区来提供数据的读写。buffer函数本身并不申请内存,只是提供了一个对现有内存的封装,大小是自动管理的。 (1)字符数组 [cpp] view plain copy char d1[128]转载 2017-10-24 15:03:52 · 416 阅读 · 0 评论