ACE
wzj_05
这个作者很懒,什么都没留下…
展开
-
ACE中UDP通信
udp是一种无连接的协议,提供无连接不可靠的服务。 在ace中,通过ACE_SOCK_Dgram类提供udp通信服务,ACE_SOCK_Dgram和ACE_SOCK_Stream的API非常类似,一样提供了send,recv及close等常用操作,这里就不再累述了。 udp通信时无需像tcp那样建立连接和关闭连接,tcp编程时需要通过accept和connect来建立连接,而udp通信转载 2013-08-22 17:01:49 · 524 阅读 · 0 评论 -
ACE线程管理机制-面向对象的线程类ACE_Task
我们在前一章中使用ACE_Thread包装时,你一定已经注意到了一些不够"优雅"的地方。那一章中的大多数程序都被分解为函数、而不是对象。这是因为ACE_Thread包装需要一个全局函数名、或是静态方法作为参数。随后该函数(静态方法)就被用作所派生的线程的"启动点"。这自然就使得程序员要为每个线程写一个函数。如我们已经看到的,这可能会导致非面向对象的程序分解。 ACE_Task对常用线程处理进转载 2013-08-26 10:14:18 · 422 阅读 · 0 评论 -
ACE线程安全与同步(Thread Safety and Synchronization)
保护原语 为了确保一致性,多线程程序必须在共享数据周围使用保护原语。 Protection Primitives in ACE Primitive Description ACE_Mutex Wrapper class around the mutual-exclusion mechanism and used to provide转载 2013-08-26 10:18:58 · 781 阅读 · 0 评论 -
ACE中TCP通信
概述: 传输控制协议TCP(Transmission Control Protocol):TCP提供可靠的、面向连接的运输服务,用于高可靠性数据的传输。TCP协议的可靠性是指保证每个tcp报文能按照发送顺序到达客户端。 Tcp通信过程一般为如下步骤: 服务器绑定端口,等待客户端连接。 客户端通过服务器的ip和服务器绑定的端口连接服务器。 服务器和客户端通过网络建立转载 2013-08-22 16:49:07 · 450 阅读 · 0 评论 -
ACE主动对象模式(2)
我们简单的介绍了一下ACE主动对象实现方式,同时提出了两个问题: 方法调用线程如何知道该方法已经执行完成? 如何或得方法的返回值? 要解决这两个问题,首先得介绍一下ACE_Future对象,ACE_Future是表示一个会在将来被赋值的"期货"对象,可以通过ready()函数查询它是否已经被赋值。该对象创建的时候是未赋值的,后期可以通过set()函数来进行赋值,所赋的值可以通过get(转载 2013-08-22 16:09:09 · 363 阅读 · 0 评论 -
ACE学习之定时器(Timer)
ACE学习之定时器(Timer) 定时器(Timer) 在事件超时的时候适当的调用事件处理器的handle_timeout()方法.为调度这样的定时器,反应器拥有一个schedule_timer()的方法.该方法接受事件处理器,以及以ACE_Time_Value对象形式出现的延迟对味参数.此外,可以指定时间间隔,使定时器在它超时后自动恢复 . 反应器在内部维护ACE_转载 2013-08-22 11:10:19 · 603 阅读 · 0 评论 -
ACE反应器(Reactor)模式
1.ACE反应器框架简介 反应器(Reactor):用于事件多路分离和分派的体系结构模式 通常的,对一个文件描述符指定的文件或设备, 有两种工作方式: 阻塞与非阻塞。所谓阻塞方式的意思是指, 当试图对该文件描述符进行读写时, 如果当时没有东西可读,或者暂时不可写, 程序就进入等待状态, 直到有东西可读或者可写为止。而对于非阻塞状态, 如果没有东西可读, 或者不可写, 读写函数马上返转载 2013-08-22 15:30:55 · 473 阅读 · 0 评论 -
ACE前摄器Proactor模式
当 OS 平台支持异步操作时,一种高效而方便的实现高性能 Web 服务器的方法是使用前摄式事件分派。使用前摄式事件分派模型设计的 Web 服务器通过一或多个线程控制来处理异步操作的完成。这样,通过集成完成事件多路分离(completion event demultiplexing)和事件处理器分派,前摄器模式简化了异步的 Web 服务器。 异步的 Web 服务器将这样来利用前摄器模式:首先让原创 2013-08-22 14:43:33 · 594 阅读 · 0 评论 -
ACE学习之创建简单的服务器端和客户端
ACE入门学习之创建简单的服务器端和客户端 ACE自适配通行环境(Adaptive Communicatin Environment)是面向对象的框架和工具包。它为通信软件实现了核心的并发和分布式模式。 ACE具有分层的体系结构,基本分为三层: 1. 操作系统适配层(OS) 2. C++包装层 3. 框架和模式层 Shock类转载 2013-08-22 11:07:17 · 673 阅读 · 0 评论 -
ACE入门
一、ACE编译 a) 下载ACE源文件,你可以从官方网站下载,我的是ACE+TAO+CIAO-6.2.0。 下载地址: http://download.dre.vanderbilt.edu/ b) 将你下载的ACE.zip解压缩,假设目录为: E:\ACE_wrappers 在该目录下你可以发现ACE-INSTALL.html文件,这个文件介绍了如何编译ACE,原创 2013-08-22 10:13:12 · 573 阅读 · 0 评论 -
ACE主动对象模式(1)
主动对象模式用于降低方法执行和方法调用之间的耦合。该模式描述了另外一种更为透明的任务间通信方法。 传统上,所有的对象都是被动的代码段,对象中的代码是在对它发出方法调用的线程中执行的,当方法被调用时,调用线程将阻塞,直至调用结束。而主动对象却不一样。这些对象具有自己的命令执行线程,主动对象的方法将在自己的执行线程中执行,不会阻塞调用方法。 例如,设想对象"A"已在你的程序的main()函转载 2013-08-22 16:04:49 · 425 阅读 · 0 评论 -
ACE接受器-连接器模式
接受器-连接器设计模式(Acceptor-Connector)使分布式系统中的连接建立及服务初始化与一旦服务初始化后所执行的处理去耦合。 这样的去耦合通过三种组件来完成:acceptor、connector 和 servicehandler(服务处理器)。 连接器主动地建立到远地接受器组件的连接,并初始化服务处理器来处理在连接上交换的数据。接受器被动地等待来自远地连接器的连接请求,在这转载 2013-08-22 15:35:37 · 450 阅读 · 0 评论 -
ACE安装(LINUX操作系统)
1. 下载Latest Release 下载地址在http://deuce.doc.wustl.edu/Download.html。 ACE-6.2.0.tar.gz,很快可以下完。 2. 然后打开官方的安装说明做准备 地址 http://www.cs.wustl.edu/~schmidt/ACE_wrappers/ACE-INS原创 2013-08-22 10:32:24 · 764 阅读 · 0 评论 -
ACE线程管理机制-线程的创建与管理
有过在不同的操作系统下用c++进行过多线程编程的朋友对那些线程处理的API可能深有体会,这些API提供了相同或是相似的功能,但是它们的API的差别却极为悬殊,十分令人头痛。 ACE_Thread提供了对不同OS的线程调用的简单包装,通过一个通用的接口进行处理线程创建、挂起、取消和删除等问题。 一. 线程入口函数 所有线程必须从一个指定的函数开始执行,该函数称为线程函数,它必须具有转载 2013-08-26 10:11:34 · 406 阅读 · 0 评论