摘要: libgo 是一个使用 C++ 编写的协作式调度的stackful协程库,同时也是一个强大的并行编程库。设计之初是为高并发分布式Linux服务端程序开发提供底层框架支持,可以让链接进程序的同步的第三方库变为异步库,不影响逻辑的前提下提升其性能。目前支持两个平台:Linux(GCC4.8+)Windo... 阅读全文

posted @ 2016-01-25 16:45 于洋子 阅读(5475) 评论(0) 推荐(1) 编辑

摘要: 开源项目cpp_features提供了一个仿golang协程的stackful协程库. 可以在c++中使用golang的协程,大概语法是这样的: 1 #include 2 3 void foo() 4 { 5 std::cout << "foo" << std::endl; 6 } 7 ... 阅读全文

posted @ 2015-11-22 15:31 于洋子 阅读(3343) 评论(0) 推荐(2) 编辑

2017年5月18日

摘要: 阅读全文

posted @ 2017-05-18 17:27 于洋子 阅读(629) 评论(0) 推荐(0) 编辑

2015年8月13日

摘要: 在purecpp社区的github组织中有一个协程库:https://github.com/yyzybb537/libgo 近日有用户找到我,想要了解一下libgo库在网络方面的性能,于是选取已入选标准库的boost.asio网络库的异步模型做横向对比。 在小包和利用多核方面,libgo库的... 阅读全文

posted @ 2015-08-13 11:17 于洋子 阅读(4997) 评论(0) 推荐(0) 编辑

2014年7月13日

摘要: 第一步. 生成rsa私钥文件 :\>openssl genrsa -out bexio.pem 1024 : 若要加密生成的rsa私钥文件(des3加密) :\>openssl genrsa-des3 -out bexio.pem1024第二步. 生成Certificate Signing R... 阅读全文

posted @ 2014-07-13 10:35 于洋子 阅读(1523) 评论(0) 推荐(0) 编辑

2014年7月12日

摘要: 依赖工具: 1.VS 2.perl编译方法: release: :\> 切换到openssl目录 :\>perl Configure VC-WIN32 no-asm --prefix=e:/openssl(OpenSSL源代码的解压目录) :\>ms\do_ms.... 阅读全文

posted @ 2014-07-12 09:33 于洋子 阅读(510) 评论(0) 推荐(0) 编辑

2014年6月19日

摘要: 一.前 言二.架构浅析三.流程分析 * 常见流程分析之一(Tcp异步连接) * 常见流程分析之二(Tcp异步接受连接) * 常见流程分析之三(Tcp异步读写数据) * 常见流程分析之四(Tcp强制关闭连接) * 常见流程分析之五(Tc... 阅读全文

posted @ 2014-06-19 07:42 于洋子 阅读(4889) 评论(5) 推荐(2) 编辑

摘要: 有人说C++是带类的C;有人说C++是面向对象编程语言;有人说C++是面向过程与面向对象结合的语言。类似的评论网上有很多,虽然正确,却片面,是断章取义之言。 C++是实践的产物,C++并没有为了成为某某类型的语言而设计,而是一切以工程实践为目的,一切以提升语言能力为目的。 1983年C+... 阅读全文

posted @ 2014-06-19 07:42 于洋子 阅读(2139) 评论(0) 推荐(0) 编辑

摘要: * Protocol(通信协议) Protocol,是asio在网络编程方面最重要的一个concept。在第一章中的levelX类图中可以看到,所有提供网络相关功能的服务和I/O对象都需要Protocol来确定一些细节。Protocol的约束摘要如下: 1 class protocol 2 { ... 阅读全文

posted @ 2014-06-19 07:42 于洋子 阅读(3054) 评论(0) 推荐(1) 编辑

摘要: * 常见流程分析之一(Tcp异步连接)我们用一个简单的demo分析Tcp异步连接的流程: 1 #include 2 #include 3 4 // 异步连接回调函数 5 void on_connect(boost::system::error_code ec) 6 { 7 if (ec... 阅读全文

posted @ 2014-06-19 07:41 于洋子 阅读(6211) 评论(3) 推荐(3) 编辑