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

acl 服务器编程框架特点介绍

阅读更多

      acl 中服务器框架模块是一个非常重要的模块,使用该模块技术人员可以快速地写出稳定、安全、高效的网络服务应用,该模块主要来源于著名的邮件服务器程序 (Postfix) 中的 master 模块,为了便于开发者使用,本人又增加了许多有益的功能模块。在 acl 的文章分类 ”acl开发--服务器篇“ 和 ”acl_cpp开发--服务器开发“ 中有关 master 服务器框架的流程图及实例讲解,本文将只对比 acl 里的 master 服务器框架(简称 acl_master) 和 Postfix 中的 master 服务器框架的不同点,以便于开发人员根据不同的使用场景选择不同的服务模块。

功能点 Postfix master acl_master
半驻留服务模式 支持 支持
安全控制 严格的用户权限控制 严格的用户权限控制
配置方式 所有服务配置在同一个配置文件中 一个服务一个配置文件
进程池模式 支持 支持
触发器模式 支持 支持
非阻塞模式 功能一般 功能强大
线程池模式 不支持 支持
协程模式 不支持 支持
在线升级 支持 支持
预启动 不支持 支持
最小进程数控制 不支持

支持

最大进程数控制 支持 支持
监控子进程报警机制 不支持 支持
开发过程调试功能 不太方便 方便(很容易使用 valgrind 检查)
客户端连接访问控制 应用自己保证 框架自动支持
单一进程监听多个地址  受限  支持
单一进程同时监听TCP及域套接口 不支持 支持
子进程运行身份控制 支持 支持
日志记录方式 支持 syslog 支持syslog-ng;允许用户注册自己的日志处理过程;允许同时写入多个目标日志对象中
子进程崩溃是否允许产生 core 文件 通过配置项控制,便于快速消除错误
是否支持UDP通信模式 不支持 支持
是否支持多进程TCP连接均匀化 不支持 支持

 

       以上为 Postfix 的 master 服务器模块与 acl 中的 acl_master 服务器模块的主要区别,当然这个对比并不是说明 acl 的 acl_master 服务器模块优于 Postfix 的 master(毕竟 acl 的服务器模块是来源于 Postfix),而是为了说明 acl 的 acl_master 服务模块可能更方便技术人员开发自己的服务应用。

      OK,就先写这些,欢迎大家批评建议。

 

      参考:

      本文地址:http://zsxxsz.iteye.com/blog/1892313

      更多文章:http://zsxxsz.iteye.com/

      源码地址:https://sourceforge.net/projects/acl/

      SVN地址:svn://svn.code.sf.net/p/acl/code/

      Github: https://github.com/acl-dev/acl

      微博:http://weibo.com/zsxxsz/

      QQ 群:242722074

2
4
分享到:
评论

相关推荐

    cpp-acl工程是一个跨平台的网络通信库及服务器编程框架

    acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、...

    acl 工程是一个跨平台的网络通信库及服务器编程框架,同时提供更多的实用功能库

    acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、...

    acl-3.0.19

    整个 acl 项目主要包含三个函数库:lib_acl(纯C开发的基础库,主要包含网络通信及服务器编程框架以及其它丰富的功能)、lib_protocol(包含 HTTP/PING/SMTP 通信协议的C语言实现)、lib_acl_cpp(基于 lib_acl 及 lib_...

    acl C++跨平台库.rar

    acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、...

    acl-master.zip

    acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、...

    acl-master

    acl 工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程、多进程、非阻塞、触发器、...

    acl 框架库-其他

    acl 框架库是一个 C 库,主要包含:服务器开发框架、同步/异步网络通讯、常用数据结构、进程池/线程池、流式 xml/json 解析器、http/ping 应用协议等内容。 acl 包括以下丰富的常用函数库: 1、常见网络应用库:SMTP...

    acl_cpp:用于win32 / linux,服务器框架,HttpServlet的功能强大的c ++库-开源

    acl_cpp(已包含在acl项目中:https://sourceforge.net/projects/acl/,请从acl项目url下载)是acl的c ++包装库,并且acl_cpp比...使用acl_cpp,您将获得更强大的acl功能,并且可以快速开发,进行模块编程,祝您好运!

    acl:CC ++为Linux,Mac,FreeBSD,Solaris(x86),Windows,Android,IOS编写的服务器框架和网络组件

    acl工程是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及服务器编程框架,同时提供更多的实用功能库。通过该库,用户可以非常容易地编写支持多种模式(多线程,多进程,非二进制,异步,...

    acl_cpp:一个强大的 c++ 库,用于 win32/linux、服务器框架、HttpServlet-开源

    acl_cpp(已包含在acl项目:https://sourceforge.net/projects/acl/,请从acl项目url下载)是acl的c++封装库,acl_cpp比acl有很多有用的功能...有了acl_cpp,你会得到更强大的acl功能,快速开发,模块编程,祝你好运!

    Fourinone分布式并行计算四合一框架

    Fourinone框架提供了一系列并行计算模式(农民工/包工头/职介绍/手工仓库)用于利用多机多核cpu的计算能力;提供完整的分布式缓存和小型缓存用于利用多机内存能力;提供像操作本地文件一样操作远程文件(访问,并行读写,...

    Fourinone分布式计算框架

    FourInOne(中文名字“四不像”)是一个四合一分布式计算框架,在写这个框架之前,我也看了老外写的其他开源框架,也对分布式计算进行了长时间的思考,当我们把复杂的hadoop当作一门学科学习时,似乎忘记了我们想...

    操作系统安全:linux常用安全技术.docx

    PAM(Pluggable Authentication Modules)是一套共享库,其目的是提供一个框架和一套编程接口,将认证工作由程序员交给管理员,PAM允许管理员在多种认证方法之间作出选择,它能够改变本地认证方法而不需要重新编译与...

    IIS6.0 IIS,互联网信息服务

    下面简单介绍IIS的安装过程: 依次点击“开始” => “控制面板” => “程序”,选择“打开或关闭Windows功能”。 这是一个触发UAC的操作,如果Windows Vista没有关闭UAC,则会弹出提示信息,确认并继续; 如果仅需要...

    ASP.net入门教程

    ASP.NET 页和控件框架是一种编程框架,它在 Web 服务器上运行,可以动态地生成和呈现 ASP.NET 网页。可以从任何浏览器或客户端设备请求 ASP.NET 网页,ASP.NET 会向请求浏览器呈现标记(例如 HTML)。通常,您可以对...

    JAVA_API1.6文档(中文)

    javax.sql 为通过 JavaTM 编程语言进行服务器端数据源访问和处理提供 API。 javax.sql.rowset JDBC RowSet 实现的标准接口和基类。 javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据...

    fourinone-3.04.25

    Fourinone框架提供了一系列并行计算模式(农民工/包工头/职介绍/手工仓库)用于利用多机多核cpu的计算能力;提供完整的分布式缓存和小型缓存用于利用多机内存能力;提供像操作本地文件一样操作远程文件(访问,并行...

    Java 1.6 API 中文 New

    javax.sql 为通过 JavaTM 编程语言进行服务器端数据源访问和处理提供 API。 javax.sql.rowset JDBC RowSet 实现的标准接口和基类。 javax.sql.rowset.serial 提供实用工具类,允许 SQL 类型与 Java 编程语言数据类型...

Global site tag (gtag.js) - Google Analytics