![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACE
文章平均质量分 72
iw1210
这个作者很懒,什么都没留下…
展开
-
ACE中的Proactor介绍和应用实例
把这两天做Proactor的一些经验和心得写一下,可能会给一些人帮助。 Proactor是异步模式的网络处理器,ACE中叫做“前摄器”。 先讲几个概念: 前摄器(Proactor)-异步的事件多路分离器、处理器,是核心处理类。启动后由3个线程组成(你不需要关心这三个线程,我只是让你知道一下有这回事存在)。 接受器(Acceptor)-用于服务端,监听在一个端转载 2014-05-22 16:18:14 · 537 阅读 · 0 评论 -
用ACE的Reactor模式实现网络通讯的例子
用ACE的Reactor模式实现网络通讯的例子,不罗嗦,直接上代码原创 2014-07-01 19:42:45 · 4816 阅读 · 0 评论 -
用ACE的Reactor模式实现网络通讯时,ACE内部用WSAEventSelect函数把网络事件与一个事件对象关联起来,目的是为了后面用WaitForMultipleObjects函数统一处理。
用ACE的Reactor模式实现网络通讯时,ACE内部用WSAEventSelect函数把网络事件与一个事件对象关联起来,目的是为了后面用WaitForMultipleObjects函数统一处理。原创 2014-07-07 18:26:44 · 1155 阅读 · 0 评论 -
ACE中的两种I/O多路复用模式 Reactor 和 Proactor 的比较
ACE中的两种I/O多路复用模式:Reactor 和 Proactor一般情况下,I/O 复用机制需要事件分离器(event demultiplexor)。事件分离器的作用,即将那些读写事件源分发给各读写事件的处理者,就像送快递的在楼下喊:谁的什么东西送了,快来拿吧。开发人员在开始的时候需要在分离器那里注册感兴趣的事件,并提供相应的处理者(event handlers),或者是回调函数;事转载 2014-06-18 12:46:25 · 1240 阅读 · 0 评论 -
ACE_Reactor::register_handler 调用 WSAEventSelect 系统函数, WSAEventSelect 函数自动把关联的 socket 设置为非阻塞模式。
ACE_Reactor::register_handler 调用 WSAEventSelect 系统函数, 而 WSAEventSelect 函数自动把socket事件设置为非阻塞模式。看MSDN里的描述:The WSAEventSelect function automatically sets socket s to nonblocking mode, regardless of th原创 2014-07-09 16:28:37 · 1480 阅读 · 0 评论 -
修改ACE的Reactor模式示例中的参数后测试,依据测试结果,猜测Reactor似乎可以突破62个事件的限制。但是...
【猜测】ACE的Reactor模式示例中,事件,可以分批 Reactor超过62限制,但会有事件漏掉。原创 2014-06-19 16:24:32 · 708 阅读 · 0 评论 -
在Windows系统下,ACE中的 Reactor 最终调用 WaitForMultipleObjects 函数,Priority Reactor 和 Proactor 最终调用 select 函数。
在Windows系统下,ACE中的Reactor最终调用系统的WaitForMultipleObjects函数原创 2014-06-19 18:50:34 · 859 阅读 · 0 评论 -
ACE前摄器Proactor模式示例程序
ACE前摄器Proactor模式示例程序服务器端代码:原创 2014-06-13 17:18:05 · 1141 阅读 · 0 评论 -
对ACE反应器Reactor模式的示例程序分析
在ACE 6.0.0 里提供了一个Reactor示例程序,分析在原创 2014-06-17 17:28:32 · 1084 阅读 · 0 评论 -
ACE中创建线程的方法
ACE中创建线程的方法一、使用线程管理器类 ACE_Thread_Manager 创建线程。1. 使用 spawn 函数创建。#include "ace/Thread_Manager.h"void thread_start(void* arg){ printf("Running thread..\n");}int ACE_TMAIN (int argc, ACE_原创 2014-06-20 16:03:15 · 2982 阅读 · 0 评论 -
探究 ACE 的 Proactor_Test 示例中的 Acceptor 和 Connector 分别如何与 Proactor 关联。
探究 ACE 的 Proactor_Test 示例中的Acceptor 和 Connector 分别如何与 Proactor 关联。原创 2014-06-13 13:28:13 · 1077 阅读 · 0 评论 -
ACE中的TCP通讯
ACE中的TCP通讯,不罗嗦,直接上代码。原创 2014-07-01 20:00:53 · 1927 阅读 · 1 评论 -
ACE里创建一个任务就创建了一个线程
在ACE里,创建一个任务就创建了一个线程。原创 2014-06-12 14:39:44 · 798 阅读 · 0 评论 -
ACE 服务配置:静态服务 和 动态服务
ACE允许运行时动态地配置服务和流,无论它们是静态地链接进用户程序中,还是其对象是从共享库中动态地加载,既可以配置服务(一个对象代表一个服务),也可以配置流(基于配置文件而非编译时期装配模块)。运行时配置的益处在于:● 多种类型的服务可以链接进程序中,也可以从共享库中动态地加载,通过配置文件决定运行时需要激活哪些服务;● 在服务初始化时传入不同的参数或指定专用的配置文件转载 2014-06-23 17:44:45 · 2662 阅读 · 0 评论 -
看ACE如何劫持main函数
看ACE如何劫持main函数用过ACE的都知道,程序的main函数必须写成int main (int argc, char *argv[])的形式,这是为什么呢,看了ACE的源码才知道,原来是……看ace/OS_main.h中的一段代码,就会恍然大悟: # define main \ace_main_i (int, char *[]); \ACE_BEG转载 2014-06-06 18:57:46 · 1693 阅读 · 0 评论 -
在 VS2008 开发环境下学习 ACE
在 VS2008 开发环境下学习 ACE 1. ACE的下载最新版本全在这里:http://download.dre.vanderbilt.edu/版本太多了,可以选择 http://download.dre.vanderbilt.edu/previous_versions/ACE-6.0.0.zip 或者 http://download.dre.vanderbilt.ed原创 2014-05-23 15:00:55 · 626 阅读 · 0 评论 -
在VS2008下用ACE创建及使用DLL(动态链接库)
在VS2008下用ACE创建及使用DLL(动态链接库)下面是 ACE-6.0.0 提供的原创 2014-06-09 15:41:53 · 1170 阅读 · 0 评论 -
在Windows下执行 ACE 的 generate_export_file.pl 需要先安装 ActivePerl
在Windows下执行 ACE 的 generate_export_file.pl 需要先安装 ActivePerl原创 2014-06-09 15:57:53 · 865 阅读 · 0 评论 -
写个ACE的最简单程序居然还有内存泄漏!查原因,排除它。
下面是ACE的最简单的程序代码:原创 2014-06-06 18:44:04 · 1479 阅读 · 0 评论 -
ACE中的UDP通讯
ACE中的UDP通讯,不罗嗦,直接上代码。原创 2014-07-01 20:14:48 · 2036 阅读 · 1 评论 -
ACE 示例中的 ACE_DEBUG 不在窗口输出信息的原因
ACE 的Log_Msg_TestE:\zpz\alysrc\ACE-6.0.0\ACE_wrappers\tests原创 2014-06-11 11:15:17 · 1360 阅读 · 0 评论 -
ACE动态服务配置的实例代码分析
ACE-6.0.0提供的动态服务配置实例原创 2014-06-10 20:48:06 · 2094 阅读 · 0 评论 -
ACE的SOCKET通信:handle_input 函数的返回值不能随便写!
ACE的SOCKET通信:handle_input 函数的返回值不能随便写!如果用ACE做两个SOCKET客户端(Client),并且重载handle_input函数,返回数值3。运行发现先触发handle_input的那个Client对象一直接收服务器数据正常;另一个Client对象在服务器发送数据时也不会触发handle_input。如果把handle_input的返回值改为0后,两个原创 2015-04-21 11:26:07 · 2910 阅读 · 0 评论