`
zsxxsz
  • 浏览: 451082 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

网络与服务器编程框架库 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 平台;整个 acl 项目主要包含三个函数库:lib_acl(纯C开发的基础库,主要包含网络通

 

信及服务器编程框架以及其它丰富的功能)、lib_protocol(包含 HTTP/PING/SMTP 通信协议的C语言实现)、lib_acl_cpp(基于 lib_acl 及 lib_protocol 两个C库,提供了更为强大的

 

编程接口及丰富的功能类);本次 acl 升级除了一些 bug 修复外,主要优化了 ACL 中的网络服务器框架、事件引擎以及线程池调度算法,同时增加了客户端连接分发器模块。

 

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_thread_pool.c)的子线程的等待时间间隔分成多个等待时间片

.新特性:服务器模板(acl_aio_server.c, acl_thread_server.c)支持向连接分发器报告状态,从而允许从连接派发器处接收客户端连接

.新特性:借鉴了 glib 库中的一些宏定义,针对 gcc 或 vc 编译器增加了一些编译属性开关(如过期 API 调用警告)

.性能优化:线程池调度算法优化(每一个线程一个独立的线程条件变量,从而可以有效地避免线程池事件通知时的惊群现象)

.性能优化:事件引擎支持检测全部套接字的时间间隔设置,当并发连接较大时,可以有效地提升事件检测的性能

.性能优化:禁用事件引擎中的自旋锁,降低 CPU 损耗

.问题修复:acl_vstream_net.c 中 acl_vstream_accept_ex 接收外来连接时,判断监听描述符的类型方式有误

.问题修复:acl_getpeername 函数当客户端连接的是域套接字时,给出的地址不对

.问题修复:acl_master 服务器模块在 reload 配置文件时有可能会导致产生 core 文件

.问题修复:events_epoll_thr.c 在函数 event_disable_readwrite 中调用 epoll_ctl 删除描述字时,也必须保证第四个参数(struct epoll_event*) 非空,否则在低版

本 LINUX 下会有问题

.问题修复:events_iocp.c 关闭未决状态的完成端口在 WIN XP 下存在 BUG,应该在套接字关闭前先取得完成端口状态

 

二、lib_acl_cpp 库

.新特性:connect_manager 连接池集群管理器增加了后台检测功能,新增加的类 connect_monitor 为一个非阻塞线程,会在后台定期检测连接池集群中的所有服务器的端口是否存活

.新特性:借鉴了 glib 库中的一些宏定义,针对 gcc 或 vc 编译器增加了一些编译属性开关(如过期 API 调用警告)

.新特性:db_pool 类增加了 peek_open 方法,可以在获取数据库对象时直接打开数据库连接

.新特性:将 master_threads 替换为 master_threads2

.问题修复:md5.cpp 其中在 WIN32 下使用 sprintf_s 函数时,传入的长度参数应为 3,否则 VC 会报错

.问题修复:event_timer.cpp, 在 32 位机下会因 64 位整数转 32 位整数而导致 32 位整数溢出问题

.问题修复:master_threads/master_threads2 存在内存泄露问题

 

三、app/master_dispatch: 增加了客户端连接分发器模块,通过该模块,可以非常均匀地将客户端连接分发给使用 acl 服务器框架的应用子进程

 

参考链接:

技术博客: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

 

分享到:
评论

相关推荐

    护眼工具eyefoo_3.0.18

    《eyefoo_3.0.18:电脑护眼神器的全面解析》 在现代社会,随着科技的发展,人们越来越依赖电脑,长时间盯着屏幕工作或学习成为常态。然而,过度使用电子设备对眼睛的损害不容忽视,这时,一款名为"eyefoo_3.0.18"的...

    acl.3.0.18.gz_ACL

    在这个场景中,"acl.3.0.18.gz_ACL" 是一个软件包,它包含ACL库和应用程序接口的更新版本3.0.18。 1. ACL 库:这个库是ACL的核心部分,提供了底层的访问控制功能。它实现了各种访问控制策略,如读、写、执行等权限...

    EASE_Focus_v3.0.18.zip

    EASE Focus v3.0.18是一款专为音频工程领域设计的专业软件,它将复杂的音频系统设计与模拟变得直观易懂。这款软件的核心功能在于帮助用户计算线阵列音响的摆放位置,同时提供室内声学设计的支持,从而实现最佳的音频...

    CubeCart_3.0.18

    1. **PHP+MySQL基础**:CubeCart基于PHP编程语言和MySQL数据库系统构建,这使得它能够轻松地与各种服务器环境兼容,同时也提供了良好的性能和可扩展性。PHP是一种广泛使用的服务器端脚本语言,而MySQL则是一款高效的...

    sapjco3-linuxx86_64-3.0.18

    标题中的“sapjco3-linuxx86_64-3.0.18”指的是SAP Java Connector的版本号,适用于Linux操作系统且是64位架构的版本。这个组件是SAP与Java应用程序之间通信的关键桥梁,允许Java应用程序访问SAP系统资源,如BAPIs、...

    眼睛护士eyefoo-3.0.18

    眼睛护士eyefoo_3.0.18

    Porting Kit For Mac_v3.0.18

    Porting Kit For Mac_v3.0.18是一款游戏移植工具,让你可以直接在 OS X 上玩 Windows 平台的游戏。Porting Kit 也是利用 Wineskin,先帮你移植好游戏,完成必要文件的配置,而你只需要下载安装即可。

    眼睛护士 V3.0.18 绿色版_定时提醒休息保护眼睛和健康的软件.rar

    该软件的版本为V3.0.18,表明它已经经过多次迭代和优化,提供了更为稳定和智能的服务。"绿色版"通常意味着这是一个无需安装、不写入系统注册表、不会在硬盘上留下冗余文件的便携式程序,用户可以方便地随身携带和...

    prompt_toolkit-3.0.18.tar.gz

    这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是...

    SAP.NET CONNECTOR 3.0.18 FOR X64

    SAP .NET Connector 3.0.18 for X64是SAP公司推出的一款用于在.NET Framework环境下与SAP系统交互的软件组件。这款连接器使得开发人员能够利用C#、VB.NET或其他.NET语言轻松地构建应用程序,与SAP R/3或SAP ...

    Python库 | celery-3.0.18.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:celery-3.0.18.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    SAP .Net Nco 3.0.18 Windows 全平台 32bit 64bit

    开发人员可以通过查阅这个帮助文件了解如何使用NCO库中的类、方法和属性,以便于在.NET环境中实现与SAP的通信。文档通常会包含示例代码,帮助开发者快速理解和应用API。 NCo3018_Net20_x86.msi 文件是针对32位.NET ...

    rtsp流媒体工具3.0.18

    RTSP是一种网络通信协议,主要用于控制多媒体数据的实时传输,常用于直播视频、监控视频等领域。该工具的版本号3.0.18表明这可能是一个经过多次迭代和优化的成熟产品。 描述中提到的功能主要是“测试流媒体通不通,...

    sapjco3-x86-64-3.0.18

    linux环境下调用sap接口除了jar包外还需so文件。步骤如下: 1.解压文件,将sapjco3.jar拷贝到$JAVA_HOME/lib/目录下,将libsapjco3.so拷贝到$JAVA_HOME/jre/lib/amd64/server 2.修改/etc/profile文件,增加如下...

    Firefox火狐浏览器官方3.0.18-win32版本exe安装包

    首先,Firefox 3.0.18是该系列的一个稳定版本,发布于2009年,虽然现在看来版本较旧,但在当时,它拥有许多先进的功能。这个版本引入了改进的性能优化,包括更快的页面加载速度和更少的内存占用,使得用户在浏览网页...

    SAP .Net Nco 3.0.18 Windows 全平台 HotFix 1 32bit 64bit

    SAP .Net Nco,全称为SAP NetWeaver Connection for .NET,是SAP公司为.NET Framework开发的一套客户端接口库,它允许.NET应用程序与SAP系统进行无缝交互。这个版本是3.0.18,包含了Windows平台的HotFix 1,支持32位...

    vlc-3.0.18-win64.rar

    5. **自定义皮肤与扩展**:VLC支持更换界面皮肤,同时可以通过插件扩展其功能,例如增加音频可视化效果或者网络电台播放功能。 6. **多格式字幕支持**:VLC可以加载多种字幕格式(如.SRT、.ASS、.SUB等),并调整...

    SAP Java Jco3.0.18 Windows 全平台 32bit 64bit

    SAP Java Jco3.0 18 Windows 全平台 32bit 64bit SAP-ERP-OA-BI

    Mozilla Firefox 3.0.18 Final 绿色简体中文便携版

    《Firefox 3.0.18 Final 绿色简体中文便携版详解与Firebug 1.4.2在Web开发中的应用》 Mozilla Firefox,作为一款广受好评的开源网页浏览器,以其强大的功能、良好的性能以及对开放标准的支持赢得了全球用户的喜爱。...

    Firefox火狐浏览器官方3.0.18-mac版本dmg安装包

    Firefox火狐浏览器,作为全球知名的开源网络浏览器,以其强大的安全性能、丰富的扩展插件以及高度的自定义性深受用户喜爱。本文将详细解析“Firefox火狐浏览器官方3.0.18-mac版本dmg安装包”,帮助Mac用户顺利进行...

Global site tag (gtag.js) - Google Analytics