ACE
sws9999
2012目标:40(TML)
2010目标:::AB!!!(实现)
2009大目标 ::: S(已实现)
展开
-
如何安装ACE
如何在linux安装ACE: 1. 首先确定ACE的安装路径,并建立相应的目录。 这里,我们把ACE安装在/home/zhc/ace/的目录下,先执行 mkdir /home/zhc/ace 2. 然后将获得的ACE源代码包解至该目录下。 tar zxvf ACE-5.4.tar.gz /home/zhc/ace 3. 这时,在ac转载 2010-01-14 15:33:00 · 1394 阅读 · 0 评论 -
ACE篇之二:使用ACE日志设施(完整的代码)
<br />http://hi.baidu.com/qingshanyin/blog/item/59dfcbdd32936bdf8d1029b3.html<br /> <br />日志可以被输出到标准设备、文件流和回调。主要文件说明如下<br />1、Log_Practice.cpp:主文件<br />// Log_Pratice.cpp : 定义控制台应用程序的入口点。<br />//<br />#define ACE_NTRACE 0<br />#include "ace/Log_Msg.h转载 2010-10-14 11:53:00 · 1115 阅读 · 0 评论 -
ACE篇之四:通过ACE日志策略进行运行时配置
<br />http://hi.baidu.com/qingshanyin/blog/category/Ace/index/1<br />我们可以通过配置文件,指示程序在运行时进行日志参数配置:如日志重定向、输出日志类型、输出日志严重级别、日志文件最大尺寸、日志输出格式等等。<br />1、在应用程序所在目录中创建svc.conf文件,内容如下:<br />dynamic Logger Service_Object* ACE:_make_ACE_Logging_Strategy() "-s log.out转载 2010-10-14 12:17:00 · 1059 阅读 · 0 评论 -
ACE篇之五:ACE容器之一(双向链表)
<br />http://hi.baidu.com/qingshanyin/blog/item/4c487e50c740f8648535249e.html<br />前沿:为了跨平台的需要,以及性能考虑,ACE创建了自己的容器。ACE支持两种容器:基于模板的、类型安全的容器,以及基于对象的容器。<br />基于模板的容器:允许在编译时创建“针对特定类型的容器”;基于对象的容器:支持某一类对象类型的插入和删除。<br />ACE的容器包含两类:序列容器和关联容器。<br />序列容器是一种其元素按照线性顺序排转载 2010-10-14 12:18:00 · 853 阅读 · 0 评论 -
ACE篇之六:ACE容器之二(栈)
<br />http://hi.baidu.com/qingshanyin/blog/item/9e13132428a439358644f958.html<br /> <br />1、前言<br />栈是LIFO序列(后进先出),ACE既支持动态栈,也支持静态栈,静态栈的尺寸固定,使用代价较低。ACE提供了两种静态栈:有界栈ACE_Bounded_Stack和固定栈ACE_Fixed_Stack。动态栈在每次插入时候分配内存,每次弹出时候释放该内存,即无界栈ACE_Unbounded_Stack类型转载 2010-10-14 12:20:00 · 702 阅读 · 0 评论 -
ACE篇之七:ACE容器之三(队列)
<br />http://hi.baidu.com/qingshanyin/blog/item/10ad021112a54ec0a7ef3fa6.html<br />1、前言<br />ACE提供的队列ACE_Unbounded_Queue支持从头部和尾部插入元素,但元素只能从头部取出。这和C++提供的队列不同,C++提供的队列只允许在序列的尾部插入元素。<br />队列的元素可以在堆上创建,也可以在栈上创建。<br />2、以下代码测试的是在栈上创建元素。因此在方法返回时候,它们均会被释放。<br />#转载 2010-10-14 14:26:00 · 1010 阅读 · 0 评论 -
基本的TCP/IP Socket用法(一)
<br />http://hi.baidu.com/qingshanyin/blog/item/4235a6a9d1dc13fa1f17a217.html<br /> <br />1、前言<br />ACE的IPC包按照组关联在一起:<br />连接器(ACE_SOCKET_Connector):主动建立连接--将流连接到服务器端<br />接收器(ACE_SOCKET_Acceptor):被动建立连接<br />流(ACE_SOCKET_Stream):传输数据<br />地址(ACE_INET_Addr转载 2010-10-14 14:30:00 · 1453 阅读 · 0 评论 -
基本的TCP/IP Socket用法(二)
<br />http://hi.baidu.com/qingshanyin/blog/item/c81db0fb31f5a0106d22ebe3.html<br />1、前言<br />服务器端的构建,相比较构建客户更加困难。但若只考虑网络部分时,两种工作事实上是对等的。创建服务器时遇到的主要困难主要来自像并发和资源处理这样的问题。<br />(1)定义地址<br />(2)在该地址上打开用于侦听新连接的接受器,然后等待连接请求的到达<br />在等待过程中,要进行各种异常的处理,如错误编号是EINTR,表转载 2010-10-14 14:31:00 · 859 阅读 · 0 评论 -
处理事件及多个I/O流--ACE Reactor框架总览
<br /> 为了处理多个I/O源,比如多个网络连接,许多传统的应用程序都要创建新进程或新线程。但我们可以通过另外的途径解决,即反应式模型(recative model),其基础是事件多路分离器,比如select()、poll()或WaitMultipleObjects()系统函数,这些优秀的函数允许我们使用一个进程或者线程,就能处理许多时间。但是编写使用这些函数的可移植性应用相当富有挑战性,而这正是ACE Reactor框架可以帮助我们的地方。<br />主要的类有:<br />转载 2010-10-14 14:31:00 · 986 阅读 · 1 评论 -
ACE中日志系统(Logging Facility)的基本使用
转自:http://hi.baidu.com/do_t_cx/blog/item/af6d6956a0f7cf54d0090673.html<br />一、简介<br />ACE有自己的Logging Facility,ACE日志系统具有线程安全、灵活、分级显示等特点,可以面向程序调试、运行、测试、和维护等全生命周期,可以选择将信息输出到屏幕、文件、系统日志(如Windows下的Event log)、甚至是远程服务器。除此之外,ACE日志系统支持回调函数以及运行时刻动态配置(Runtime转载 2010-10-14 11:45:00 · 1475 阅读 · 0 评论 -
ACE篇之十一:ACE容器之七(自调整的二叉树)
<br />http://hi.baidu.com/qingshanyin/blog/item/7271448b67d242799e2fb419.html<br />1、ACE提供的树实现为红黑树,名为ACE_RB_Tree,接口与映射表类似,其实现实际上是一个值容器。类型定义是:<br />ACE_RB_Tree<br />2、测试类:Tree_Practice.h<br />#include "ace/RB_Tree.h"<br />#include "DataElement.h"<br />/转载 2010-10-14 14:29:00 · 668 阅读 · 0 评论 -
ACE 学习必看书籍
《ACE 程序员指南》《C++网络编程 卷1:运用ACE和模式消除复杂性》《C++网络编程 卷2:基于ACE和框架的系统化复用》转载 2010-09-19 11:26:00 · 3601 阅读 · 0 评论 -
ACE开发新手上路
0.1. ACE简单环境构建 是什么? 中文介绍,很全面,很易懂。 http://wiki.huihoo.com/index.php?title=ACE 资源包 http://download.dre.vanderbilt.edu/ 选择下载 ACE.tar.gz 就可以了 存放在相应路径 例如/tmp/cd /tmp推荐安装(编译成静态库,方便进一步开发) tar -xzf ACE-5.6.6.tar.gz c原创 2010-09-19 17:47:00 · 2940 阅读 · 0 评论 -
ACE日志配置策略(例子)
#define ACE_NTRACE 0// $Id: Use_Logging_Strategy.cpp 14 2007-02-01 15:49:12Z mitza $#include "ace/Log_Msg.h"#include "ace/Service_Config.h"#include "ace/OS.h"#include "ace/Reactor.h"#include #include /* Put the following in your svc.conf转载 2010-10-14 11:24:00 · 1052 阅读 · 0 评论 -
ACE篇之一:使用ACE日志设施
<br />http://hi.baidu.com/qingshanyin/blog/item/39cf898149190bdebc3e1eef.html<br /> <br />1、前言:<br />使用ACE日志设施的主要宏如下:<br />ACE_DEBUG(常用):用于调试语句<br />ACE_ERROR(常用):用于警告和错误<br />ACE_TRACE:用于跟踪信息<br />2、新建控制台项目Log_Practice(vs2008)<br />3、删除自动生成的其它所有文件,仅仅保留Log转载 2010-10-14 11:52:00 · 1165 阅读 · 0 评论 -
ACE篇之三:日志客户和服务器看守
http://hi.baidu.com/qingshanyin/blog/item/56bc99d91eb416ef38012f78.html1、ACE提供的ACE Logging Service即ACE netsvcs,是可配置的两层服务:(1) 客户代理:接收本地系统上客户发出的日志请求,将它们转发给服务器:有利于防止大量客户连接冲击服务器(2)服务器:运行于一台计算机上2、为使用日志服务,需要创建服务器端配置文件server.conf,内容如下:dynamic Logger Service_Objec转载 2010-10-14 11:55:00 · 963 阅读 · 0 评论 -
ACE篇之八:ACE容器之四(数组)
<br />http://hi.baidu.com/qingshanyin/blog/item/7f6386274670cf05908f9d7c.html<br />1、前言<br />ACE提供的数组类型是ACE_Array,是一模板类,构造方法如下:<br />ACE_Array<DataElement*> arr(10);<br />使用方法:<br />(1)arr[i]=....<br />(2)利用专门针对ACE_Array的迭代器ACE_Array<DataElement*>::ITERATO转载 2010-10-14 14:27:00 · 793 阅读 · 0 评论 -
ACE篇之九:ACE容器之五(集合)
<br />http://hi.baidu.com/qingshanyin/blog/item/086fa4343b6b0948251f14bd.html<br /> <br />1、前言<br />集合是不允许其所含条目重复的序列。ACE有两种集合:有界集合和无界集合,即ACE_Bounded_Set和ACE_Unbounded_Set。它们支持插入、查找、迭代。<br />2、测试完整源代码如下(原书本有多处错误)<br />#include "ace/Containers.h"<br />#inc转载 2010-10-14 14:28:00 · 822 阅读 · 0 评论 -
ACE篇之十:ACE容器之六(映射表管理器)
<br />http://hi.baidu.com/qingshanyin/blog/item/559cedfa77411d9159ee9090.html<br />1、前言<br />关联容器支持高效的元素读取,基于键而不是在容器中的位置。例子有映射表和二叉树。<br />关联容器允许基于键进行读取和插入,但没有提供在容器中特定位置插入元素的机制映射表管理器ACE_Map_Manager,它被实现为动态的条目数组,每个条目由一个键/值对组成,一旦数组满了,就会分配新的内存,支持前向迭代和后向迭代。<b转载 2010-10-14 14:29:00 · 745 阅读 · 0 评论 -
bdb及其在php下扩展的安装
<br />1、安装Berkeley DB<br /><br /># cd /usr/local/src<br /># wget http://download.oracle.com/berkeley-db/db-4.6.21.tar.gz<br /># tar -zxvf db-4.6.21.tar.gz<br /># cd db-4.6.21<br /># cd build_unix<br /><br />Berkeley DB默认是安装在/usr/local/BerkeleyD转载 2011-01-28 13:59:00 · 610 阅读 · 0 评论