随笔分类 -  Boost.Asio

Boost.ASIO简要分析-5 多io_service
摘要:5. 多io_service前面那篇讲到了多线程的用法。这篇讲一下多io_service的用法,大家可参考下官方提供的HTTP Server 2(an io_service-per-CPU)这个例子。官方提供的例子中,使用方法很简单,建立一个io_service_pool,然后对每一个io_serv... 阅读全文
posted @ 2015-05-23 17:18 sudosky 阅读(788) 评论(0) 推荐(0)
Boost.ASIO简要分析-4 多线程
摘要:4. 多线程一般情况下,服务端开启一条线程做io_service::run()工作就足够了。但是,有些情况下可能会变得很糟糕。从之前的分析,我们知道异步操作的一个关键步骤就是io_service回调我们注册的handler。现在假设客户端与服务端建立了四个socket连接,相应的I/O对象分别为so... 阅读全文
posted @ 2015-05-23 12:38 sudosky 阅读(4281) 评论(0) 推荐(0)
Boost.ASIO简要分析-3 Daytime实例分析
摘要:3. Daytime实例分析下面以官方提供的Daytime例子分析下如何使用asio操作socket。3.1 客户端客户端代码使用同步函数。#include #include #include using boost::asio::ip::tcp;int main(int argc, char* a... 阅读全文
posted @ 2015-05-16 21:23 sudosky 阅读(558) 评论(0) 推荐(0)
Boost.ASIO简要分析-2 timer实例分析
摘要:2. timer实例分析下面分别介绍下同步操作实例与异步操作实例2.1 同步操作实例下面简单解释下官方文档中的定时器同步等待例子#include #include #include int main(){ boost::asio::io_service io; // 定义一个io_service对... 阅读全文
posted @ 2015-05-16 20:15 sudosky 阅读(576) 评论(3) 推荐(0)
Boost.ASIO简要分析-1 初窥
摘要:Boost.Asio是一个主要用于网络及底层I/O编程的跨平台C++库。1. 初窥Boost.Asio支持对I/O对象进行同步及异步操作。1.1 同步操作同步操作的事件顺序如下图所示:1) 调用者调用I/O对象的connect函数开始连接操作,socket.connect(server_endpoi... 阅读全文
posted @ 2015-05-15 22:34 sudosky 阅读(423) 评论(0) 推荐(0)