在purecpp社区的github组织中有一个协程库:https://github.com/topcpporg/cpp_features近日有用户找到我,想要了解一下coroutine库在网络方面的性能,于是选取已入选标准库的boost.asio网络库的异步模型做了一次对比测试,结果完爆asio异步...
分类:
其他好文 时间:
2015-08-11 22:53:02
阅读次数:
377
1 踩过的坑1.1 io_serviceboost::asio::io_service::run()会一直运行到没有任务为止,如果中途调用stop(),则所有等待中的任务会立刻执行。解决方案是用run_one(),即while (keep_running)
io_service_.run_one();keep_running是个bool值,要stop io_service的时候直接置fals...
分类:
Web程序 时间:
2015-07-09 11:20:58
阅读次数:
186
项目接近阶段性尾声了,又要去做另一个项目的框架,真是完全忙不过来。。。整理项目过程中,为了减少第三方库的使用,我使用boost的asio封装了http请求 1 #pragma once 2 3 #include 4 #include 5 #include 6 #include 7 #inc...
分类:
Web程序 时间:
2015-07-06 15:33:40
阅读次数:
187
学习开源库第一步就是编译安装好库,然后运行成功一个demo,然后才能进行之后的工作。
下面就来讲讲boost库在linux下的安装。
[mjf@localhost ~]$
tar -zxvf boost_1_55_0.tar.gz
[mjf@localhost boost_1_55_0]$ ./bootstrap.sh --prefix=/home/mjf/lib
[mjf@loc...
分类:
系统相关 时间:
2015-07-05 09:34:51
阅读次数:
289
学习开源库的第一步就是,编译安装,然后我们才能写一写demo去测试。
所以本章我们学一下在linux编译安装Boost库,为了方便起见,直接安装完整库。
我使用的版本是boost_1_55_0,版本差别不大。
[mjf@localhost ~]$
tar -zxvf boost_1_55_0.tar.gz
[mjf@localhost boost_1_55_0]$
./b...
分类:
系统相关 时间:
2015-07-05 09:33:57
阅读次数:
759
dawn的协程库,使用的是kilim,不过已经远非kilim的原有代码,主要保留了协程的两个基本原语,再往上层,已经全部被替换了。
协程库,我学习过boost asio中的协程,也在我的机器上测试过单纯上下文切换的速度。这个速度在不同的机器之间没有可比性,因为彼此的cpu可能不同。但是在同一台机器上的不同库的对比,具有一定的参照性。
我记得,当时asio协程单线程情况下,协程切...
分类:
其他好文 时间:
2015-07-03 22:05:51
阅读次数:
240
使用boost::asio实现客户端的异步通讯访问pop3服务器。 #include?<iostream>
#include?<boost/asio.hpp>
#include?<boost/bind.hpp>
using?namespace?std;
using?boost::asio::ip::tcp;
#define?MAIL_SE...
分类:
其他好文 时间:
2015-06-22 06:31:59
阅读次数:
124
本文以一段示例代码,说明使用boost asio进行同步通讯的使用方法。 #include?<iostream>
#include?<boost/asio.hpp>
using?namespace?std;
using?boost::asio::ip::tcp;?
int?main()
{
????boost::as...
分类:
其他好文 时间:
2015-06-15 01:48:51
阅读次数:
120
在开源的C/C++网络库中, 常用的就那么几个, 在业界知名度最高的, 应该是ACE了, 不过是个重量级的大家伙, 轻量级的有libevent, libev, 还有 Boost的ASIO。ACE是一个大型的中间件产品,代码20万行左右,过于宏大,一堆的设计模式,架构了一层又一层,使用的时候, 要根据...
分类:
编程语言 时间:
2015-06-10 19:09:01
阅读次数:
150
Boost Asio 异步TCP服务器框架
flyfish 2015-5-30
session 类 头文件
#pragma once
#include
#include
#include
#include
class session: public boost::enable_shared_from_this
{
public:
session(boost:...
分类:
其他好文 时间:
2015-05-30 08:13:04
阅读次数:
216