框架描述 服务器层次: I/O层:对应具体的文件描述符处理,对应ACE中的handle. Dispatch层:事件分发,将I/O事件分发到对应绑定的处理队列等待业务处理,对应ACE中的Event_handle. 业务层:处理具体业务,包含一组线程或进程,并发处理业务.对应ACE中的ACE_Task. 三层结构与五层网络的网络层,传输层,应用层类似对应. Reactor模式: I/O处理:ACE_Reactor使用select复用完成,将注册进去的IOhandle进行事件监听. 消息队列:ACE_…
原文出自http://www.cnblogs.com/binchen-china,禁止转载. 在之前的文章中提到过Reactor模式和Preactor模式,现在利用ACE的Reactor来实现一个基于Reactor框架的服务器. 首先回顾下Reactor模式和Preactor模式. Reactor模式: Reactor模式实现非常简单,使用同步IO模型,即业务线程处理数据需要主动等待或询问,主要特点是利用epoll监听listen描述符是否有响应,及时将客户连接信息放于一个队列,epoll和队列…
ACE源码约10万行,是c++中非常大的一个网络编程代码库,包含了网络编程的边边角角. ACE代码可以分三个层次:OS层.OO层和框架层: OS层主要是为了兼容各个平台,将网络底层API统一化,这一层用户不关心. OO层则是对一些常用的数据结构或方法进行OO封装,方便上层使用,包括socket方法,进程.线程和他们的同步机制等. 框架层实现了一些优秀的网络框架. 1 ACE_INET_Addr 类名 ACE_INET_Addr 所在文件 INET_Addr.h 功能 处理和存储IP.端口.协议类…
http://blogs.readthedocs.org/   ACE的学习笔记,根据源码分析了Reactor模型的实现. 因为笔记编写技术限制,这里仅列出主要目录,如有可能可以抽空复制到该Blog中. 目录如下: 1. ACE学习综述 1.1. ACE项目的优点 1.2. ACE项目的缺点 1.3. Reactor使用过程中的注意事项 2. ACE_Select_Reactor_T 介绍 2.1. 类继承图 2.2. 类协作图 2.3. 类主要成员变量 2.4. 事件处理函数调用图 2.5.…
 Java Web基础--Controller+Service +Dao三层的功能划分(摘取自网络)1. Controller/Service/DAO简介:      Controller是管理业务(Service)调度和管理跳转的.      Service是管理具体的功能的.      Controller只负责管理,而Service负责实施.      DAO只完成增删改查,虽然可以1-n,n-n,1-1关联,模糊.动态.子查询都可以.但是无论多么复杂的查询,dao只是封装增删改查.至于增…
=======service   调用dao用params.put(K,Value);将参数传入后台. BaseResponse response = new BaseResponse(); Map<String,Object> params = new HashMap<String,Object>(); String queryByDay = byday.replaceAll("-","/"); List<OrderDateQuery…
前言 微软Azure国际版已经很普及了,这里没有用国内版(世纪互联),用的是国际版,当然是由于公司性质的缘故.这里一步步图文的方式,分享给大家创建Azure国际版的SharePoint三层架构的过程,并带给大家一些使用感受. 自己在使用的过程中,也发现一些问题,搜了很久也没有搞定,最后在MS case的帮助下,才真正解决了问题.同时也分享给大家,对于已经深入了解Azure的朋友,可以忽略本文,烦请勿见笑. 1.申请Azure账号,这部分略过了,我这里已经有创建好的Azure账号,在管理页面上点击…
10.1 Imagine you are building some sort of service that will be called by up to 1000 client applications to get simple end-of-day stock price information (open, close, high, low). You may assume that you already have the data, and you can store it in…
今天遇到了两个关于Reporting Service的问题, 出现问题的环境为Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) .具体情况请见下面描述. 1:在修改报表的订阅后,保存时出现下面错误: 提示:报表服务器数据库内出错.此错误可能是因连接失败.超时或数据库中磁盘空间不足而导致的. (rsReportServerDatabaseError) 获取联机帮助 有关此错误的详细信息,请导航到本地服务器上的报表服务器或启用远程错误 从…
从阿里云的踩坑大师,到Azure的抹黑大师,我们似乎成了云计算负面用户的典型,可是我们还是忍不住想表达自己真实的使用感受.如果有错误的地方,欢迎大家批评! 在Azure上建好虚拟网(Vitual Network)之后(详见云计算之路-试用Azure:如何建立虚拟机之间的内网连接),虚拟机(Virtual Machine)之间需要进行内网通信,通信时使用计算机名比直接使用内网IP更友好.更方便.更能应对变化. 在使用阿里云的时候,我们只能在每台虚拟机的hosts中添加计算名与IP之间的映射,但是如…