ACE的功能概述

    技术2023-01-19  48

    ACE从功能上大致分为如下几个方面

    ACE OS 层

    ACE OS 层封装了平台相关的函数和定义,例如 ACE_OS::strlen,ACE_OS::closesocket 等,这些封装的意义在于使ACE做到与平台无关,一个比较好的例子是 socket 的定义,在 Linux 上为 int 类型,在 Windows 上为 SOCKET 类型,而ACE的 socket 定义是 ACE_Hanlde,它在不同的平台有不同的解释。ACE OS 层是所有 ACE 其他功能的基础。

    ACE 结构对象化层

    这个层提供了一系列的C++类封装平台相关的结构,一个比较好的例子是 ACE_INET_Addr,它封装了 sockaddr 结构,提供了诸如 get_port、get_host_name 等方法来使相关的操作更加容易。

    ACE 操作系统对象的封装

    操作系统对象例如 内存文件映射、线程、锁等,ACE 通过相应的类来提供对这些操作系统对象的封装

    ACE 网络编程模式

    对于每一个操作系统,都会有数种不同的网络编程模式,他们有的高效、有的易于编写,但总的来说,服务器的编程基本上可以划分成反应式(Reactor)和前摄式(Proactor)两种,反射式一般是基于同步的操作,前摄式一般基于异步的操作,ACE 提供了 ACE_Reactor 类和 ACE_Proactor 类封装了这两大类的编程模式,在大类下,又通过类继承提供了更加详细的实现。

    ACE 服务器配置

    ACE 通过 ACE_Service_Config 提供了服务器的配置功能。

    ACE 工具类

    例如,ACE 提供了诸如 ACE_Message_Block、ACE_Message_Queue 等类封装了读写的缓存操作。

     

    最新回复(0)