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/Windows/Solaris/FreeBsd/MacOS 平台;整个 acl 项目主要包含三个函数库:lib_acl(纯C开发的基础库,主要包含网络通信及服务器编程框架以及其它丰富的功能)、lib_protocol(包含 HTTP/PING/SMTP 通信协议的C语言实现)、lib_acl_cpp(基于 lib_acl 及 lib_protocol 两个C库,提供了更为强大的编程接口及丰富的功能类);本次 acl 升级的主要内容有:使头文件的定义更为规范化、增加了新的防 SQL 注入查询器、进一步丰富了服务器框架的功能。
acl 包括以下丰富的常用函数库:
1、常见网络应用库: SMTP 客户端库/PING 库/memcache 客户端库/handlersocket 客户端库/beanstalk 客户端库
2、HTTP 网络库:HTTP 客户端/服务端库,C++版 HttpServlet 类,HTTP COOKIE/HTTP SESSION 等
3、邮件解析库:mime解析库/RFC2047/RFC2048/mime base64/mime qp/mime uucode 等
4、网络通信库:阻塞/非阻塞网络 IO 库(其中 lib_acl_cpp 库通过嵌入 polarssl 而具备了 SSL 的能力)
5、服务器框架:包括进程池模式、线程池模式、非阻塞模式、UDP通信模式及触发器模式
6、事件引擎:支持 select、poll(for unix)、epoll(for linux)、kqueue(for bsd)、devpoll(for solaris)、iocp(for win32)、win32 窗口消息(for win32)事件引擎
7、通用连接池库:高效的连接池基础类库,支持丰富的功能
8、数据库客户端库:对原生的数据库客户端库进行了二次封装,使编程更为简易,功能更为丰富
9、xml/json 流式解析库:区别于网上其它已有的 xml/json 解析库,acl 中的 xml/json 解析库采用有限状态机方式解析数据,处理方式更为灵活
一、基础 C 库:lib_acl
.新特性:acl_threads_server.c 线程池服务器模板支持通过配置项 (ioctl_thread_accept = 1) 将 on_accept 回调过程放在线程池的子线程中处理
.新特性:事件引擎模块可以区分 ACL_EVENT_ACCEPT/ACL_EVENT_CONNECT 与 ACL_EVENT_READ/ACL_EVENT_WRITE 事件类型
.新特性:acl_vstream.c 增加了几处 IO 出错时的错误号记录位置
.新特性:acl_tcp_ctl.c 增加了套接字选项的获取新接口:acl_get_tcp_solinger,acl_get_tcp_nodelay
.问题修复:acl_aqueue.c 的 acl_aqueue_free 中在释放时存在一处空指针使用
.其它:整理库的所有头文件,使之更规范
二、lib_protocol 库
.无变更
三、lib_acl_cpp 库
.新特性:增加了 query 数据库查询对象类,通过该类构建安全的 SQL 查询语句,并通过 db_handle 类对象查询该 query 对象,此设计借鉴了 java hiberate 的一些思想
.新特性:socket_stream 类增加了 TCP 套接字的设置/获取方法;server_socket 增加了设置服务器套接字延迟接收选项方法
.新特性:string 类的 format_append 函数增加了变参类型校验功能
.新特性:polarssl_conf 类支持 SSL 握手时对证书进行验证的方式,可以在类初始化时设置证书验证方式
.新特性:stream_hook 类的 on_close 回调函数增加网络连接是否正常的参数,子类可根据此参数决定待关闭连接的善后动作; stream 类在关闭前会首先判断网络连接是否正常,并交连接状态通过 on_close 参数传递给子类实例
.问题修复:samples/win_dbservice 在异步调用 DB 服务前还没有打开异步消息处理句柄
.问题修复:string 类中的 operator +=(long n) 的变参类型有误
.新示例:新增数据库查询示例 samples/db/mysql_query
.编译:消除了使用 Makefile.db 编译时的一些警告
参考链接:
技术博客:http://zsxxsz.iteye.com/
download:http://sourceforge.net/projects/acl/
svn:svn checkout svn://svn.code.sf.net/p/acl/code/trunk acl-code
github:https://github.com/acl-dev/acl
QQ 群:242722074
- 浏览: 450512 次
- 性别:
- 来自: 北京
最新评论
-
zsxxsz:
2202877 写道你好,请问一下acl库是否可以移植到arm ...
利用ACL开发并发网络服务器 -
taoshengyijiu20008:
非常不错啊
acl 服务器编程框架设计要点 -
lgqss:
最后的例子用了__thread,依然不能用在动态库中?
再谈线程局部变量 -
foxbryant88:
膜拜中~
我为什么要发明一个轮子? -
zsxxsz:
eryueniaobp 写道关于reset的使用,查看了 g ...
使用 acl 库编写高效的 C++ redis 客户端应用
相关推荐
VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。
FreeRADIUS服务器是一款广泛应用的开源 Radius 服务器,它在网络安全领域扮演着重要角色,主要负责认证、授权和计费(AAA)服务。Radius 协议主要用于网络接入控制,如无线网络、远程拨号用户以及企业内部的身份验证...
“ognl-3.0.21.jar”是OGNL的一个特定版本,发布于某个时间点,可能包含性能优化、错误修复或者新功能。每个版本的更新通常会针对上一版的不足进行改进,确保其稳定性和兼容性。对于开发人员来说,选择合适版本的...
VLC搭建RTSP服务器详细步骤,用于在Android下开发RTSP视频程序时进行测试
VLC多媒体播放器(最初命名为VideoLAN...它也能作为unicast或 multicast的流式服务器在IPv4或 IPv6的高速网络连接下使用。它融合了FFmpeg计划的解码器与libdvdcss程序库使其有播放多媒体文件及加密DVD影碟的功能。
用FLASH,详细的演示了,在Windwos2000下安装和配置Resin -3.0.21的全过程
Web服务是一种基于网络的,允许不同系统之间进行交互和通信的应用程序。它们通常使用开放标准,如HTTP,XML(可扩展标记语言)和WSDL(Web服务描述语言)来交换数据。Web服务的主要目标是促进跨平台的数据共享和互...
VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。
python库。 资源全名:huaweicloudsdkbssintl-3.0.21b0-py3-none-any.whl
标题中的"SAP Java Jco3.0.21 Windows 全平台 32bit 64bit.zip"指的是SAP的Java Connector (JCo)版本3.0.21,这是一个用于Windows操作系统的软件包,它同时支持32位和64位环境。JCo是SAP提供的一种接口技术,允许非...
1. sapjco30P_21-10005326.zip:这个文件很可能是SAP JCO 3.0.21的安装包,"P"可能代表"Platform",意味着这个版本适用于多种操作系统平台。10005326可能是该版本的内部标识号。 2. sapjidoc30P_14-10009485.zip:此...
这个连接器允许Java应用通过Remote Function Call (RFC) 协议调用SAP系统的业务逻辑,实现了跨平台的数据交换和业务流程集成。在本案例中,我们讨论的是JCo 3.0的版本3.0.21,这是一个针对32位和64位操作系统的更新...
ognl-3.0.21.jar ognl-3.0.21.jar ognl-3.0.21.jar ognl-3.0.21.jar
标题 "NVR_(78_4_8路_SNH_SHT)_V3.0.21_170418.zip" 暗示这是一个网络视频录像机(Network Video Recorder,简称NVR)的软件更新包,具体型号为7800h-SNH-SHT。该版本为V3.0.21,发布日期为2017年4月18日。NVR是...
SAP .Net Nco 3.0.21 Windows 全平台 32bit 64bit SAP ERP vs None SAP ERP connection
.Net连接SAP RFC接口官网dll组件,版本号:3.0.21,包含32位及64位安装包,根据自己需求选择安装32位还是64位,安装完成,找到安装目录中的sapnco.dll、sapnco_utils.dll
Version 3.0.21(支持5.2.1以上版本) - FIX: Disabled fix for "Resources" assets size for Unity 5.2.1 (and greater) since Unity fixed it now.
5. **性能优化**:针对Guillotina框架进行了性能优化,减少了不必要的网络通信和提高了数据处理速度。 6. **错误处理和日志记录**:提供完善的异常处理机制和日志记录,方便调试和维护。 **安装与使用** 要使用`...
该项目名为"Python多种农产品价格预测实训方案V3.0.21",由广东泰迪智能科技股份有限公司提供,旨在通过数据挖掘技术,训练学员预测多种农产品的价格走势。此实训方案不仅包含了理论知识的讲解,还注重实践操作,...
`kombu-3.0.21.tar.gz`是源自PyPI的一个资源,它是一个压缩包,包含的是`kombu`库的版本3.0.21。Kombu是一个强大的消息队列和AMQP客户端,用于Python,它支持多种消息传递协议和后端,包括RabbitMQ、Redis、Amazon ...