ACE网络编程
byxdaz
十年以上C/VC++开发经验。熟悉网络编程、数据库编程、数字图像处理与识别,熟悉软件工程和项目管理,熟悉linux C/C++开发。
展开
-
跨平台的网络通信中间件:ICE和ACE
二十世纪九十年代中期以来,业界一直在使用DCOM和CORBA这样的面向对象的中间件平台。在分布式的应用中,中间件平台托管了大部分网络事务,比如对数据进行编码与解码以进行传送,把逻辑对象地址映射到物理传输端点,根据客户和服务器的机器架构改变数据的表示,以及按照需要自动启动服务器。DCOM和CORBA由于自身的缺点,都没有成功占领大部分分布式计算的市场。DCOM是Microsoft的独家解决方转载 2009-12-09 09:19:00 · 2030 阅读 · 0 评论 -
数据接收中粘包及半包的处理
在使用TCP协议的网络应用中,不可避免需要处理的一个问题就是半包和粘包的情况。 一种做法是在接收端设一个比较大的缓冲区,先将收到的数据包都放到缓冲区中,然后从该缓冲区中选取完整的数据包出来。该缓冲区的实现可以使用环形缓冲区进行优化,避免频繁的数据移动。使用该方法的一个描述见 http://www.vckbase.com/document/viewdoc/?id=1203 另外一种做法就转载 2012-01-17 09:19:49 · 2160 阅读 · 0 评论 -
ACE文件操作
ACE里的文件操作与平常的Win32里面的文件操作有所不同,这是因为ACE是为网络开发而设计的,里面普遍都遵循了Client/Server模式,这样在操作文件时,ACE把文件看做是一个Socket服务器,而进行文件操作的类(ACE_FILE_IO)被看做是一个Socket Client。 有了上面的认识,使用ACE的文件操作就容易理解了: 调用ACE_FILE_IO.s转载 2011-12-23 14:02:52 · 4566 阅读 · 0 评论 -
ACE主动对象模式
ACE主动对象模式转载:http://www.cnblogs.com/TianFang/archive/2006/12/11/589168.html主动对象模式用于降低方法执行和方法调用之间的耦合。该模式描述了另外一种更为透明的任务间通信方法。 传统上,所有的对象都是被动的代码段,对象中的代码是在对它发出方法调用的线程中执行的,当方法被调用时,调用线程将阻塞,直至调用结束。而主动对象却不一样。这些转载 2011-12-23 14:37:08 · 1468 阅读 · 0 评论 -
ACE_Configuration_Heap类
该类用语访问合操纵配置信息,它们的接口由ACE_Configuration类来定义的;1、ACE_Configuration_Heap:它可以用在几乎所有的平台上,在内存中保存所有配置信息.可以对内存的分配进行定制,使用持久的后备存储,但是最常用的是动态分配的堆内存,所以这个类的名字里面含有一个Heap;2、ACE_Configuration_Win32Registry:它只能用在Windows平转载 2011-12-23 14:03:52 · 3493 阅读 · 0 评论 -
ACE Service Configurator框架
http://docs.huihoo.com/ace_tao/ACE-2002-12/Part-Two/Chapter-8.htm 概述ACE Service Configurator框架是Component Configurator模式的一种实现。使用它可以在运行时动态地配置服务和流,无论它们是动态地链接进你的程序的,还是其对象是从共享库中动态加载的。你既可以配置服务(对象),也可以配置流(基于转载 2011-12-05 20:46:08 · 2467 阅读 · 0 评论 -
ACE中日志系统
介绍了ACE中日志系统(Logging Facility)的基本使用一、简介以前曾介绍过一个开源日志系统log4cplus,ACE也有自己的Logging Facility,与log4cplus相似,ACE日志系统也具有线程安全、灵活、分级显示等特点,可以面向程序调试、运行、测试、和维护等全生命周期,可以选择将信息输出到屏幕、文件、系统日志(如Windows下的Event log)、甚至是远程服务转载 2011-12-04 22:08:44 · 5235 阅读 · 0 评论 -
ACE接受器-连接器模式
ACE接受器-连接器模式接受器-连接器设计模式(Acceptor-Connector)使分布式系统中的连接建立及服务初始化与一旦服务初始化后所执行的处理去耦合。 这样的去耦合通过三种组件来完成:acceptor、connector 和 servicehandler(服务处理器)。 连接器主动地建立到远地接受器组件的连接,并初始化服务处理器来处理在连接上交换的数据。 接受器被动地等待来自远地连接器的转载 2011-12-04 22:00:49 · 1470 阅读 · 0 评论 -
ACE反应器(Reactor)模式
ACE反应器(Reactor)模式(1)http://www.cnblogs.com/TianFang/archive/2006/12/13/591332.htmlACE反应器(Reactor)模式(2)http://www.cnblogs.com/TianFang/archive/2006/12/18/595808.htmlACE反应器(Reactor)模式(3)http://www.cnblo转载 2011-12-04 21:49:53 · 2276 阅读 · 0 评论 -
ACE学习笔记
ACE介绍ACE自适配通信环境(ADAPTIVE Communication Environment)是可以自由使用、开放源码的面向对象(OO)框架(Framework),在其中实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可复用C++ Wrapper Facade(包装外观)和框架组件,可跨越多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务原创 2010-04-08 12:41:00 · 9389 阅读 · 0 评论 -
基于ACE应用编程框架——线程池
一、基本的实现模型: 线程池的实现模型主要有两种: 1、半同步/半异步模型 在这种模型中,一个侦听线程负责接受请求,并在某个队列中缓冲它们。另外一组工作者线程负责处理请求。因此接受请求的线程并不是处理请求的线程。 2、领导者/跟随者模型 在这种模型中,有一个线程是领导者,其余线程是线程中的跟随者。当请求到达时,领导者首先获取请求,并在跟随者中选取一个作为新的领导者,然转载 2010-03-12 11:47:00 · 2150 阅读 · 0 评论 -
ACE前摄器Proactor模式
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://egeho123.blogbus.com/logs/10780720.htmlACE前摄器Proactor模式 当 OS 平台支持异步操作时,一种高效而方便的实现高性能 Web 服务器的方法是使用前摄式事件分派。使用前摄式事件分派模型转载 2010-03-12 10:37:00 · 1720 阅读 · 0 评论 -
ACE的内存管理
ACE构架含有一组非常丰富的内存管理类。这些类使得你能够很容易和有效地管理动态内存(从堆中申请的内存)和共享内存(在进程间共享的内存)。你可以使用若干不同的方案来管理内存。你需要决定何种方案最适合你正在开发的应用,然后采用恰当的ACE类来实现此方案。 ACE含有两组不同的类用于内存管理。 第一组是那些基于ACE_Allocator的类。这组类使用动态绑定和策略模式来提供灵活性和可扩展性原创 2009-12-12 18:01:00 · 2931 阅读 · 0 评论 -
ACE Condition类
进来工作中碰到关于ACE的代码,有些疑惑,今天上网看到一篇关于ACE Condition类属 的文章,解决了一些自己的疑惑,鉴于好东西多传播的思路,我就再贴一下。原文在 http://www.cnblogs.com/TianFang/archive/2006/12/04/581854.htmlACE Condition类属ACE Condition类属(条件变量)提供风格与互斥体、读者/作者锁和计转载 2012-02-15 11:37:37 · 2403 阅读 · 0 评论