- 浏览: 453379 次
- 性别:
- 来自: 北京
-
最新评论
-
zsxxsz:
2202877 写道你好,请问一下acl库是否可以移植到arm ...
利用ACL开发并发网络服务器 -
taoshengyijiu20008:
非常不错啊
acl 服务器编程框架设计要点 -
lgqss:
最后的例子用了__thread,依然不能用在动态库中?
再谈线程局部变量 -
foxbryant88:
膜拜中~
我为什么要发明一个轮子? -
zsxxsz:
eryueniaobp 写道关于reset的使用,查看了 g ...
使用 acl 库编写高效的 C++ redis 客户端应用
文章列表
acl 3.0.15 版本 (项目主页:https://sourceforge.net/projects/acl/,技术文章主页:http://zsxxsz.iteye.com/)) 发布了,acl 是 one Advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平台;整个 acl 项目主要包含三个函数库:lib_acl(纯C开发的基础库,主要包含网络通信及服务器编程框架以及其它丰富的功能)、lib_protocol(包含 HTTP/PING/SMTP 通信协议的C语言实 ...
acl 3.0.14 版本 (项目主页:https://sourceforge.net/projects/acl/,技术文章主页:http://zsxxsz.iteye.com/)) 发布了,acl 是 one Advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平 ...
在当今网络世界,虽然大部分网络应用都是基于 TCP 的,但有时 UDP 的网络通信也有用武之处。acl 的网络库中不仅提供了基于 TCP 的网络套接字流,同时也提供了 UDP 的网络库(目前 acl 库的网络部分仅提供了基本的 UDP 功能,如果想实现 UDP 重传及可靠性机制,大家可以参考 udt --https://sourceforge.net/projects/udt/ 库)。
使用 acl 网络库无论编写客户端还是服务器程序,都需要首先调用 acl_vstream_bind 接口绑定本机地址,该函数的定义如下:
/**
* 针对 UDP 通信,该函数 ...
acl 3.0.13 版本 (项目主页:https://sourceforge.net/projects/acl/,技术文章主页:http://zsxxsz.iteye.com/)) 发布了,acl 是 one Advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows 平台;整个 acl 项目主要 ...
在 《利用ACL库开发高并发半驻留式线程池程序》中介绍了如何使用 C 版本的 acl 线程库编写多线程程序,本文将会介绍如何使用 C++ 版本的 acl 线程库编写多线程程序,虽然 C++ 版 acl 线程库基于 C 版的线程库,但却提供了更为清晰简洁的接口定义(很多地方参考了 JAVA 的线程接口定义)。下面是一个简单的使用线程的例子:
#include "acl_cpp/lib_acl.hpp"
//////////////////////////////////////////////////////////////////////////
...
acl 3.0.12 版本 (项目主页:https://sourceforge.net/projects/acl/, 技术文章主页:http://zsxxsz.ietye.com/) 发布了,acl 是 one Advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows 平台;整个 acl 项目主要 ...
在编写服务器应用程序时,有时会有这样一种应用场景:后端的业务数据及业务逻辑相同,但希望给前端应用提供的功能范围及协议方式有些差别。如:
场景一:希望来自于外网的客户端以只读权限访问后端数据,同时希望来自于内网的客户端可以以读/写方式访问后端数据;
场景二:希望某个网段的客户端以 HTTP 协议访问后端业务,同时希望某个网段的客户端以私有协议方式访问后端业务。
为了处理上面的应用场景,当然可以写多个服务器程序,每个服务器程序处理不同的协议格式和权限范围,但这势必会造成很多冗余代码,增加额外的工作量及出错可能性。acl 的服务器框架模型允许一 ...
acl 的 C++ 版本库(lib_acl_cpp.a)的 db 模块主要与数据库编程相关,通过这些模块库,开发者可以快速地写出支持数据库连接池的数据库应用程序,目前该 db 模块支持 mysql、sqlite 数据库。本文将以 mysql 应用为例讲述如何使 ...
在使用 acl 库编写应用过程中,记录日志是一个非常重要的过程,acl 从几个层面提供了日志的不同记录方式。在 acl 的 C 库部分(lib_acl.a),有三个源文件与日志记录相关:acl_msg.c/acl_msg.h, acl_mylog.c/acl_mylog.h, acl_debug.c/acl_debug.h。其中,acl_mylog.c 是真正记录日志的源文件,acl_msg.c 则是在 acl_mylog.c 基础之上的二次封装,acl_debug.c 是在 acl_msg.c 基础之上的再次封装。下面根据此三个日志源文件从三个层次描述日志记录的过程。
...
acl(https://sourceforge.net/projects/acl/) 开源项目新版本 3.0.8 版发布了,有关 acl 的介绍参见:acl 框架库简介, 主要是修复了一些存在的 BUG,同时伴随一些模块的性能提升,以及针对 master 服务器框架的功能扩展。下面是本次修改的主要内容:
acl 3.0.8 (2013.6.25)
一、lib_acl
1) feature: acl_master 框架支持在一个配置文件中监听多个地址(可以为 TCP
套接口与域套接口混用)
2) feature: acl_master 框架支持在 reload 时 ...
acl 中服务器框架模块是一个非常重要的模块,使用该模块技术人员可以快速地写出稳定、安全、高效的网络服务应用,该模块主要来源于著名的邮件服务器程序 (Postfix) 中的 master 模块,为了便于开发者使用,本人又增加了许多有益的功能模块。在 acl 的文章分类 ”acl开发--服务器篇“ 和 ”acl_cpp开发--服务器开发“ 中有关 master 服务器框架的流程图及实例讲解,本文将只对比 acl 里的 master 服务器框架(简称 acl_master) 和 Postfix 中的 master 服务器框架的不同点,以便于开发人员根据不同的使用场景选择不同的服务模块 ...
在以前有关使用 acl 的技术文章(如:使用 acl::master_threads 类编写多进程多线程服务器程序 ,用 acl::master_aio 类编写高并发非阻塞服务器程序,使用 acl::master_proc 类编写多进程服务器程序)中,对如何使用 acl 服务器框架类编写服务器应用程序做了较为详细的描述,但手工输入这些代码毕竟是比较烦人的,在 acl 的 app/ 目录下有一个向导程序:wizard,可以帮助开发者快速生成服务器框架模板,开发者只需在相关位置添加业务逻辑代码即可。下面是使用 wizard 向导程序的简要过程:
首先在 acl 的根目录 ...
一、概述
MFC 程序员在编写 Windows 界面程序时经常需要处理一些阻塞任务过程,为了避免阻塞窗口的消息过程,一般会将阻塞过程将由一个子线程处理,该子线程在处理过程中通过向界面线程发送 Windows 窗口消息将处理结果传递给窗口线程。在 acl 库中的 rpc 功能类实现了更为方便的处理方式,通过 rpc 功能类,用户可以在主线程中进行非阻塞过程(如:界面消息过程或网络非阻塞通讯过程),而将阻塞任务交由子线程处理(如:网络阻塞通讯或数据库操作等),子线程可以将任务处理的中间状态和最终状态通过 rpc 功能类传递给主线程。
acl 的 rpc 类不仅能实 ...
acl服务器模块的部署--示例
- 博客分类:
- acl开发--编译安装
作者:王华涛
acl服务器模块acl_master,通过配置文件的配置项来控制工作进程的运行。下面以例子ioctl_echo3来讲解如何配置运行。
1)下载acl源码包acl.3.0.3.src.tgz
2) #tar xzvf acl.3.0.3.src.tgz将包进行解压。
3)在acl/dist/master目录下执行命令:
#chmod a+x setup.sh
#./setup.sh /opt/acl
/opt/acl是将程序发布到这个目录下。
执行脚本后,将自动建立相应子目录在/opt/acl路径下。
4)将ioctl_echo3 ...
一、概述
在文章 acl 服务器编程模型介绍,开发多线程进程池服务器程序---acl 服务器框架应用,快速创建你的服务器程序--single进程池模型 等文章中介绍了如何基于 acl 的 C 语言版编写服务器程序,而在 用 acl::maste ...