上一篇只写了怎么编译ace,技术难度零星.今天我们先来搭个框架.
ace_proactor 前摄器,真怪异的名字.叫异步事件分配者多好啊. 【程序编程相关:如果有一本计算机学的著作能和相对论媲美,】在win32平台上最有效率的io模型,莫过于完成端口了.csdn上到处都是关于完成端口的问题.在ace中对win32平台的完成端口有着非常好的封装.ace中前摄式框架的win32实现就是使用的完成端口.我们先来看看这个框架有哪些组成部分. 【推荐阅读:关于输入框中显示双引号和单引号】ace_asynch_accept 异步连接接受器.用来监听来自客户的连接请求. 【扩展信息:WfMC的Workflow参考模型[转]】ace_service_handler 事件处理器.处理所有异步操作的结果.ace_asynch_read_stream 异步读取器.发起异步读操作的请求.ace_asynch_write_stream 异步写入器.发起异步写操作的请求.嗯!东西差不多齐了.不要看到上面的东西就害怕,其实很简单,请相信我.我们先来讲一下,运行的流程.首先,我们会使用accept的open()方法,,监听一个端口. ace_inet_addr localhost; localhost.set(8888,“127.0.0.1“); acceptor.open(localhost);此时,当有客户端的连接请求到达时,前摄器会自动的调用acceptor 的make_handle()方法,来创建一个事件处事器,处理这个连接的用户.//我定义的用户事件处理器类,继承于ace_service_handler ctg_gs_user_handler *puser_handler; //使用ace的创建宏,分配一个空间. ace_new_noreturn(puser_handler,ctg_gs_user_handler(this));... 下一页