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 · 1025 阅读 · 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 · 313 阅读 · 0 评论 -
【boost】boost::asio(1)--timer定时器
1.Timer.1 - 使用同步定时器先完整介绍一下,后面的例子该省略的就省略了。所有的Asio类只要简单的包含"asio.hpp"头文件便可使用:#include 因为本程序中使用了定时器,我们需要包含相应的的Boost.Date_Time 头文件来处理时间操作:#include 使用Asio的所有程序都至少需要转载 2017-10-24 14:13:45 · 354 阅读 · 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 · 390 阅读 · 0 评论 -
【boost】boost::asio(4)——buffer用法
1.创建buffer在io操作中,对数据的读写大都是在一个缓冲区上进行的,在asio框架中,可以通过asio::buffer函数创建一个缓冲区来提供数据的读写。buffer函数本身并不申请内存,只是提供了一个对现有内存的封装,大小是自动管理的。(1)字符数组[cpp] view plain copychar d1[128]转载 2017-10-24 15:03:52 · 438 阅读 · 0 评论