acl 3.0.19 版本 (项目主页: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语言实现)、lib_acl_cpp(基于 lib_acl 及 lib_protocol 两个C库,提供了更为强大的编程接口及丰富的功能类);本次 acl 升级主要包含一些 BUG 修复及功能特性增加。
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_scan_dir.c 增加了一些功能接口
.新特性:服务器框架 acl_master 支持非 root 用户身份运行
.性能优化:线程池库(acl_pthread_pool.c), worker_wait() 函数将空闲线程添加至线程池和从线程池中移除的操作放在 pthread_cond_timedwait 等待循环的外面,这样既可以减少添加/移除操作的次数,同时又可以使等待任务超时的线程迟早地退出
.删除:去掉了 acl_ioctl_app_main.c/acl_aio_app_main.c,将 acl_aio_app_main.c 功能分别合并至 acl_aio_server.c 中;将 acl_ioctl_server.c 的接口申明为过期,建议用户使用 acl_threads_server.c 中的功能接口
.问题修复:acl_vstream.c 中函数 acl_vstream_ftell 问题修复
.问题修复:acl_aqueue.c 异步线程消息队列支持无限等待方式
二、lib_protocol 库
.问题修复:http_hdr_req.c 中函数 http_hdr_req_cookies_parse 解析处理 cookie 时存在内存冲突
三、lib_acl_cpp 库
.新特性:文件类 fstream(fstream.cpp)增加了 ftell 方法,用来表示当前文件指针位置
.新特性:连接类 connect_client(connect_client.cpp)增加了设置/获取连接池对象的方法
.新特性:字符串类 string(string.cpp)增加了多个功能接口,方便对字符串的操作
.新特性:增加了目录扫描类 scan_dir(scan_dir.cpp),可以非常方便地对目录进行扫描等操作
.新特性:连接池管理类 connect_manager(connect_manager.cpp)增加了连接池故障自动恢复功能
.问题修复:异步处理服务器类 master_aio(master_aio.cpp)在析构函数中不应调用异步处理函数,否则会引起内存冲突
.问题修复:http 处理类 http_client(http_client.cpp) 构造函数中未对缓冲区 buf_ 初始化,当调用 reset 方法会造成内存冲突
参考链接:
技术博客: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
- 浏览: 451134 次
- 性别:
- 来自: 北京
最新评论
-
zsxxsz:
2202877 写道你好,请问一下acl库是否可以移植到arm ...
利用ACL开发并发网络服务器 -
taoshengyijiu20008:
非常不错啊
acl 服务器编程框架设计要点 -
lgqss:
最后的例子用了__thread,依然不能用在动态库中?
再谈线程局部变量 -
foxbryant88:
膜拜中~
我为什么要发明一个轮子? -
zsxxsz:
eryueniaobp 写道关于reset的使用,查看了 g ...
使用 acl 库编写高效的 C++ redis 客户端应用
相关推荐
在IT行业中,网络与服务器编程框架库是构建高效、稳定且可扩展的网络服务的核心工具。这些库提供了丰富的功能,使开发者能够轻松处理网络通信、数据传输和服务器管理等复杂任务。下面我们将深入探讨网络通信库和...
acl 是 one advanced C/C++ library 的简称,主要包括网络通信库以及服务器框架库等功能,支持 Linux/Windows/Solaris/FreeBsd/MacOS 平台;整个 acl 项目主要包含三个函数库:lib_acl(纯C开发的基础库,主要包含...
4. 错误处理与重试机制:建立合理的错误处理策略和重试机制,避免因网络或其他原因导致的消息丢失。 总结,SpringCloud Alibaba Data Bus为微服务架构提供了强大的数据同步和解耦能力,通过事件驱动的方式简化了...
SAPJCO是SAP公司提供的一个Java库,它允许Java应用程序与SAP R/3或SAP NetWeaver系统进行通信,执行业务逻辑,数据交换,以及调用ABAP函数模块。 描述中提到"JAVA调用SAP系统所需 SAPJOC JAR包",这里的SAPJOC(SAP...
使用SAP JCO 3.0.19时,要留意SAP发布的更新和补丁,以保持系统与最新技术同步,确保系统的稳定性和安全性。 总的来说,SAP JCO 3.0.19是一个强大的工具,允许开发人员在多种操作系统上构建与SAP系统交互的应用...
SAP JCo是连接SAP应用服务器与非SAP系统的关键组件,它提供了一种中间件服务,使得开发者可以利用Java语言来访问和交互SAP的业务逻辑。 描述指出,这是一个SAP的安装文件,主要用于SAP通信。这意味着这个压缩包包含...
在实际开发中,"phcli-3.0.19-py3.8.egg"可能与其他Python库结合使用,例如数据分析库pandas、网络请求库requests等,共同构建复杂的后端系统。此外,对于版本管理,开发者需要注意不同版本的Python和库之间的兼容性...
这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是...
Firefox 3.0.19是该系列的一个稳定版本,发布于2009年。它在前一版本的基础上进行了多项改进和修复,包括对网页渲染的优化,提高了页面加载速度;增强了浏览器的安全性,修复了多个已知的安全漏洞,为用户提供了更...
《Python库huaweicloudsdkiam-3.0.19b0-py3-none-any.whl详解》 在IT领域,Python作为一种高度灵活且功能强大的编程语言,因其丰富的库支持而深受开发者喜爱。其中,华为云IAM SDK是Python开发者在进行华为云服务...
专为国内用户设计的企业邮件软件“EVO邮件服务器”,最大的亮点就在于它具有 IMAP、CardDAV、CalDAV 功能、最完整的SSL解决方案、全球第一套支持 UTF8 的 IMAP 与 SMTP 的Mail Server软件。“EVO Software ...
专为国内用户设计的企业邮件软件“EVO邮件服务器”,最大的亮点就在于它具有 IMAP 功能、最完整的SSL解决方案、全球第一套支持 UTF8 的 IMAP 与 SMTP 的Mail Server软件。“EVO Software Production”总是为您冲第一...
Privoxy是一款带过滤功能的代理服务器,针对HTTP、HTTPS协议,经常跟Tor组合使用。通过Privoxy的超级过滤功能,用户从而可以保护隐私、对网页内容进行过滤、管理cookies,以及拦阻各种广告等。
Struts2是一个流行的Java web应用程序框架,而OGNL(Object-Graph Navigation Language)是它核心的表达式语言,用于在视图层与模型层之间进行数据绑定和传递。标题提到的"ognl3.0.19和3.0.6的源码、jar、doc"是指...
Zabbix 3.0.19是该软件的一个特定版本,发布于2017年,提供了稳定性和安全性方面的改进。在这个版本中,用户可以期待一系列的功能更新和错误修复。 解压"zabbix-3.0.19.tar.gz"后,你会得到一个名为"zabbix-3.0.19...
资源分类:Python库 所属语言:Python 资源全名:huaweicloudsdkclassroom-3.0.19b0-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
FreeRADIUS服务器是一款强大的认证、授权和计费(AAA)解决方案,广泛应用于网络访问控制,尤其是802.1X标准的无线网络和有线网络的接入管理。它基于开源软件,提供高度可定制和扩展的功能,使得网络管理员能够有效...