自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 收藏
  • 关注

编译使用 acl 协程库

      在《使用 acl 协程编写高并发网络服务》和《使用协程方式编写高并发的 WEB 服务》两篇文章中介绍了如何使用 acl 的协程功能编写高并发服务器程序,本文主要介绍如何编译使用 acl 的网络协程库。      一、 acl 协程库的依赖关系      目前 acl 协程主要分为 C 库(lib_fiber.a,在 acl/lib_fiber/c 目录下)和 C++库(li...

2016-12-24 21:56:12 461 1

使用 acl 库编写负载均衡服务的配置指南

      在文章《使用 acl 服务器框架编写负载均衡的应用服务》中介绍了 acl TCP 连接分配器的作用及原理,本节主要介绍 TCP 连接分配器的配置方法,及使用 acl 的服务器模板创建的应用服务子进程的配置方法(目前支持该功能的服务器模板有:线程池服务模板、协程服务模板以及非阻塞服务模板)。     一、TCP连接分配器的配置要点     TCP 连接分配器即 master_...

2016-11-28 22:18:35 248

c++对象序列化编程实例

      在《使用 acl 库针对 C++ 对象进行序列化及反序列编程》中介绍了 acl 库中针对 C/C++ 的 struct 对象进行序列化和反序列化的功能,并且给出了一个简单的例子。本文将介绍一些较为复杂的例子。      一、示例一:支持多继承的例子      先定义 struct.stub 文件:#pragma once#include <string>...

2016-11-14 22:39:35 461

使用 acl 库针对 C++ 对象进行序列化及反序列编程

       在开发网络应用程序时,各个模块之间的数据通信可谓是家常便饭,为了应对这些数据通信时数据交换的要求,程序员发明了各种数据格式:采用二进制数据结构(早期 C 程序员)、采用 XML、采用SOAP(坑人的设计)、采用 URL 编码、采用JSON格式等。客户端与服务端交互时采用这些数据格式进行数据交换时,必然要经历数据编码及数据解码的繁琐过程。早期的二进制数据结构格式对于 C 程序员而是...

2016-10-16 20:27:44 273

acl库使用FAQ

一、基础问题1、acl 库是啥、主要包含哪些功能?acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、UDP方式、协程方式)的服务器程序,WEB 应用程序,数据库应用程序。此外,该库还提供了常见应用的客户端通...

2016-08-21 11:30:30 809

网络协程编程

一、背景 为什么需要网络协程?1、协程/纤程并不是一个新概念2、大并发、高性能对于服务端的高要求3、移动设备的快速增长加大了服务端大并发压力4、Go 语言的兴起将协程带到了一个新的高度支持协程的编程语言:1、Go 语言,非常容易支持大并发、高性能2、Python 语言3、Erlang 语言4、Lua 语言。。。。。。为什么要设计一套 C/C++ 网络协程库?1、学习一部门语言的成本要远...

2016-07-18 23:38:38 401

使用协程方式编写高并发的 WEB 服务

      在《使用 acl 协程编写高并发网络服务》中介绍了一个使用 acl 协程库编写高并发网络服务的应用示例,本节将展示一个稍微复杂些且更具实际意义的例子:基于协程的 WEB 服务器程序。下面首先展示这个 WEB 服务器程序:#include "lib_acl.h" // acl 基础库头文件#include "fiber/lib_fiber.h" // acl 协程库头文件...

2016-07-06 23:01:09 517

使用 acl 协程编写高并发网络服务

      本节从一个示例入手,介绍如何使用 acl 的协程模块编写高并发高性能的网络服务。首先请参考下面的例子:#include "lib_acl.h"#include <stdio.h>#include <stdlib.h>#include <string.h>#include "fiber/lib_fiber.h"stati...

2016-07-06 21:49:14 294

使用 redis_builder 管理 redis 集群

       在 <一个 C++ redis 集群管理工具> 中主要讲述了如何使用 redis_builder 工具创建 redis 集群的过程,除此之外,该工具还具有更为强大的 redis 客户端管理功能(相对于官方提供的 redis-cli功能要强大的多)。本文主要讲解使用 redis_builder 以交互方式管理 redis 集群的过程。一、启动 redis_build...

2016-04-23 19:59:42 300

原创 集群 Redis 使用实践

      针对集群 redis,本文从集群原理、通信协议、交互过程、 集群创建等几个角度出发,较为全面的介绍了集群版 redis 的实践过程。               ...

2016-02-12 21:49:39 114

acl3.1.4 跨平台网络通信与服务器编程框架发布了

acl 3.1.4 版本发布了,acl 是 one advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平台;整个 acl 项目主要包含三个函数库:lib_acl(纯C开发的基础库,主要包含网络通信及服务器编程框架以及其它丰富的功能)、lib_protocol(包含 HTT...

2015-12-20 18:01:19 182

使用 acl 内存池模块管理动态对象

      C/C++ 最容易出问题的地方是内存管理,容易造成内存泄露和内存越界,这一直是 C/C++ 程序员比较头疼的事情,但 C/C++ 最大的优势也是内存管理,可以让程序员直接管理内存,从而使程序运行更为高效。acl 库中的内存池管理器 dbuf_guard 在管理内存的效率上比系统级内存管理方式(malloc/free, new/delete)更为高效,同时也使内存管理更为健壮性,这可...

2015-11-15 00:27:24 182

跨平台网络通信与服务器编程框架 acl 3.1.3 版本发布

acl 3.1.3 版本发布了,acl 是 one advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平台;整个 acl 项目主要包含三个函数库:lib_acl(纯C开发的基础库,主要包含网络通信及服务器编程框架以及其它丰富的功能)、lib_protocol(包含 HTT...

2015-08-27 09:13:13 187

跨平台网络通信与服务器框架 acl-3.1.2 版本发布

acl 3.1.2 版本发布了,acl 是 one advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平台;整个 acl 项目主要包含三个函数库:lib_acl(纯C开发的基础库,主要包含网络通信及服务器编程框架以及其它丰富的功能)、lib_protocol(包含 HTT...

2015-05-10 19:33:44 152

一个 C++ redis 集群管理工具

    集群版 redis3.0 发布以来,官方仅提供了一个使用 ruby 写的集群管理工具,在创建 redis 集群时需要使用该工具。因为 ruby 中的一些包依赖问题,导致一些生手在建立 redis 集群时吃尽了苦头。于是 acl 库作者基于 acl 中的 redis 模块库,用 C++ 语言写了一个 redis 集群管理工具: redis_builder,没有过多的包依赖,可以方便 re...

2015-04-20 00:01:27 613

跨平台网络通信与服务器框架 acl.3.1.1 版本发布

acl 3.1.1 版本发布了,acl 是 one advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平台;整个 acl 项目主要包含三个函数库:lib_acl(纯C开发的基础库,主要包含网络通信及服务器编程框架以及其它丰富的功能)、lib_protocol(包含 HTT...

2015-03-29 21:36:42 114

原创 acl 服务器编程框架设计要点

一、概述    软件技术发展至今,存在着很多成熟的开发框架(如广大 Java 程序员所熟知的 SSH 框架),这些开发框架或面向数据库,或面向网络通信,或面向应用服务器,或面向界面设计,甚至面向某类业务模型。这些开框架的存在,大大提高了程序员的开发效率,这样使技术人员将精力更多地集中于业务本身,而不必拘泥于技术的底层实现细节,但也造成了众多知其然不知其所以然的所谓“码农”,尤其对于那些使用...

2015-03-20 23:33:05 479

支持集群版 redis 的客户端例子

      据 redis 官方网站显示,支持集群版的 redis3.0 快要发布了(现在已经到了redis3.0 rc4 版本),这样使用者就不需要自己花很大力气来针对 redis 进行分库了,之前人们为了使单机版的 redis 能支持集群方式,往往是在客户端或通过加一个中间的代理层(比如使用 tweaproxy)做很多工作,现在有了集群版的 redis3.0 ,这些额外的操作都不再需要。...

2015-03-07 23:03:13 284

使用 acl 库编写高效的 C++ redis 客户端应用

 一、概述      (可以直接略过此段)redis 最近做为 nosql 数据服务应用越来越广泛,其相对于 memcached 的最大优点是提供了更加丰富的数据结构,所以应用场景就更为广泛。redis 的出现可谓是广大网络应用开发者的福音,同时有大量的开源人员贡献了客户端代码,象针对 java 语言的 jedis,php 语言的 phpredis/predis 等,这些语言的 redis...

2015-02-10 01:03:33 745

acl跨平台网络通信框架3.1.0版本发布

acl 3.1.0 版本发布了,acl 是 one advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平台;整个 acl 项目主要包含三个函数库:lib_acl(纯C开发的基础库,主要包含网络通信及服务器编程框架以及其它丰富的功能)、lib_protocol(包含 HTT...

2015-02-09 09:19:51 120

acl 跨平台网络通信服务器编程框架 3.0.22 版本发布

acl 3.0.22 版本发布了,acl 是 one advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平台;整个 acl 项目主要包含三个函数库:lib_acl(纯C开发的基础库,主要包含网络通信及服务器编程框架以及其它丰富的功能)、lib_protocol(包含 HT...

2014-12-15 13:31:47 105

acl 跨平台网络通信服务器编程框架 3.0.22 版本发布

acl 3.0.22 版本发布了,acl 是 one advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平台;整个 acl 项目主要包含三个函数库:lib_acl(纯C开发的基础库,主要包含网络通信及服务器编程框架以及其它丰富的功能)、lib_protocol(包含 HT...

2014-12-15 13:31:09 222

跨平台网络通信与服务器框架 acl 服务器框架 3.0.21 版本发布

acl 3.0.21 版本 (项目主页:https://sourceforge.net/projects/acl/,https://github.com/zhengshuxin/acl,技术文章主页:http://zsxxsz.iteye.com/ ) 发布了,acl 是 one advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/...

2014-10-30 21:19:34 116

使用 acl 服务器框架编写负载均衡的应用服务

      acl 服务器框架的几种服务器模型(进程模型,多线程模型,非阻塞模型,协程模型,触发器模型,UDP通信模型)中,使用比较多的是多线程模型、协程模块及非阻塞模型,这三种模型可以配置成启动多个进程实例(即成为:多进程多线程、多进程多协程及多进程非阻塞),但在实际应用中因为系统 TCP 连接分配的不均匀性,会导致每个进程实例的 TCP 连接数极不均匀甚至相差很大的问题(便出现了有的进程“...

2014-09-20 22:33:12 193

跨平台的网络通信与服务器框架库 acl 库 3.0.20版本发布

跨 平台通用网络通信及服务器编程框架库 acl 库之 3.0.20 版本 (项目主页:https://sourceforge.net/projects/acl/,https://github.com /zhengshuxin/acl,技术文章主页:http://zsxxsz.iteye.com/ ) 发布了,acl 是 one advanced C/C++ library 的简称,主要包括网络...

2014-08-26 20:39:52 189

跨平台网络通信与服务器编程框架库(acl库)介绍

一、描述acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能 库。通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、UDP方式)的服务器程序,WEB 应用程序,数据库应用程序。此外,该库还提供了常见应用的客户端通信库(如:HTTP、SMTP、ICMP、memcach...

2014-08-19 09:09:19 308

acl 网络通信与服务器框架库示例列表

 跨平台网络通信及服务器框架库 --- "acl" 项目里有大量的测试及应用示例,主要有三个示例集合,如下:1、acl/samples:该目录下的例子主要是基于 lib_acl 及 lib_protocol 两个库的例子-    1.1 acl: 打印当前 acl 库版本号程序-    1.2 aio/client: 非阻塞 io 客户端-    1.3 aio/server: 非阻塞 io ...

2014-07-15 22:58:36 314

网络与服务器编程框架库 acl_3.0.19 发布

acl 3.0.19 版本 (项目主页:https://sourceforge.net/projects/acl/,技术文章主页:http://zsxxsz.iteye.com/ ) 发布了,acl 是 one advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平台;整个...

2014-06-23 21:13:06 142

使用 acl 的生成向导快速创建一个C++ WEB 服务器

      在文章《使用 acl 生成向导快速创建服务器程序》中介绍如何使用 acl 的服务器生成向导自动创建服务器程序的过程,文章《使用 acl_cpp 的 HttpServlet 类及服务器框架编写WEB服务器程序》介绍了编写 HTTP 服务器的大体过程,本节将介绍如何使用 acl 提供的生成向导快速创建一个 WEB 服务器的过程。在 acl 项目的根目录下编译完所有的程序后(运行 mak...

2014-06-09 23:16:40 290

使用 acl_cpp 库中的 http_request 类实现一个 HTTP 客户端请求的例子

       之前写过几篇如何使用 acl 库来实现 HTTP 客户端的例子都是基于 C 语言(使用 acl 较为底层的 HTTP 协议库写 HTTP 下载客户端举例, 使用 acl 库开发一个 HTTP 下载客户端),其实在 acl 的 C++ 库(lib_acl_cpp) 中 HTTP 类功能更为强大,本节将介绍如何使用 acl::http_request 类来写一些简单的 HTT...

2014-06-02 20:06:32 820

使用 acl 库开发简单的客户端与服务器程序

      之前写过一些如何使用 acl 的服务器框架编写服务器程序的技术文章(http://zsxxsz.iteye.com/category/210570,http://zsxxsz.iteye.com/category/80224),如果仅是写一些简单的服务器程序,有时倒不必如此麻烦, acl 的 C++ 库部分也提供了一些简单的服务器类,本文将介绍如何使用这些简单的类来实现一些服务器程...

2014-05-18 23:25:00 589

网络与服务器编程框架库 acl_3.0.18 发布

acl 3.0.18 版本 (项目主页:https://sourceforge.net/projects/acl/,技术文章主页:http://zsxxsz.iteye.com/)) 发布了,acl 是 one advanced C/C++ library 的简称,主 要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS ...

2014-04-07 19:49:12 143

线程池设计中的惊群问题

      多线程编程已经是现在网络编程中常用的编程技术,设计一个良好的线程池库显得尤为重要。在 UNIX(WIN32下可以采用类似的方法,acl 库中的线程池是跨平台的) 环境下设计线程池库主要是如何用好如下系统 API:      1、pthread_cond_signal/pthread_cond_broadcast:生产者线程通知线程池中的某个或一些消费者线程池,接收处理任务;...

2014-03-09 00:30:20 188

acl --网络及服务器编程框架库 3.0.15 版本发布

acl 3.0.15 版本 (项目主页:https://sourceforge.net/projects/acl/,技术文章主页:http://zsxxsz.iteye.com/)) 发布了,acl 是 one Advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平台;整个...

2014-01-25 20:54:36 103

网络与服务器编程框架库 acl_3.0.14发布

      acl 3.0.14 版本 (项目主页:https://sourceforge.net/projects/acl/,技术文章主页:http://zsxxsz.iteye.com/)) 发布了,acl 是 one Advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS...

2013-12-07 20:27:21 231

使用 acl 编写 UDP 网络程序

      在当今网络世界,虽然大部分网络应用都是基于 TCP 的,但有时 UDP 的网络通信也有用武之处。acl 的网络库中不仅提供了基于 TCP 的网络套接字流,同时也提供了 UDP 的网络库(目前 acl 库的网络部分仅提供了基本的 UDP 功能,如果想实现 UDP 重传及可靠性机制,大家可以参考 udt --https://sourceforge.net/projects/udt/ 库...

2013-11-19 22:52:36 206

网络与服务器编程框架库 acl_3.0.13 发布

acl 3.0.13 版本 (项目主页:https://sourceforge.net/projects/acl/,技术文章主页:http://zsxxsz.iteye.com/)) 发布了,acl 是 one Advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows 平台;整个 acl 项目主要包含三个函数库:lib_a...

2013-11-04 21:05:50 141

使用 acl_cpp 库编写多线程程序

      在 《利用ACL库开发高并发半驻留式线程池程序》中介绍了如何使用 C 版本的 acl 线程库编写多线程程序,本文将会介绍如何使用 C++ 版本的 acl 线程库编写多线程程序,虽然 C++ 版 acl 线程库基于 C 版的线程库,但却提供了更为清晰简洁的接口定义(很多地方参考了 JAVA 的线程接口定义)。下面是一个简单的使用线程的例子:#include "acl_cpp/li...

2013-10-26 18:18:53 170

网络与服务器编程框架库 acl_3.0.12 发布

acl 3.0.12 版本 (项目主页:https://sourceforge.net/projects/acl/,  技术文章主页:http://zsxxsz.ietye.com/) 发布了,acl 是 one Advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows 平台;整个 acl 项目主要包含三个函数库:lib_...

2013-10-03 22:54:54 136

使用 acl 服务器框架编写监听多个地址的服务器程序

      在编写服务器应用程序时,有时会有这样一种应用场景:后端的业务数据及业务逻辑相同,但希望给前端应用提供的功能范围及协议方式有些差别。如:      场景一:希望来自于外网的客户端以只读权限访问后端数据,同时希望来自于内网的客户端可以以读/写方式访问后端数据;      场景二:希望某个网段的客户端以 HTTP 协议访问后端业务,同时希望某个网段的客户端以私有协议方式访问后端业...

2013-09-07 20:40:45 210

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除