文档介绍:ESFramework 开发手册
第一部分 ESFramework 开发手册
ESFramework 开发手册(00) -- 概述
ESFramework 体系的构成
       Framework ,它由通信核心ESFramework、应用增强ESPlus、以及群集平台ESPlatform构成。它们的层次依赖关系如下图所示: 
        
      我们的应用程序可以直接基于通信核心ESFramework来构建,这样做可以拥有最大限度的灵活性来组装整个应用,但是需要手动做的工作也最多。为了快速而高效地构建应用程序,我们可以基于ESPlus进行开发。ESPlus内置众多组件供我们直接使用,像消息头、解析器、消息处理器、序列化器、自定义信息、文件传送、P2P通道、好友/组友状态改变通知、等等。
      基于ESPlus构建的通信应用程序,当同时在线用户数量剧增的时候,只要修改仅仅几行代码和配置,就可以将其平滑地迁移到ESPlatform平台,以实现应用服务器的群集和负载均衡。  
      跨平台也是ESFramework体系的重要特性之一,ESFramework将通过提供多平台的客户端引擎来实现这一点。跨平台解决方案的第一阶段主要任务是对主流移动设备的支持。其规划图如下所示:
     
      注意,由于受平台的限制,移动设备的客户端引擎以及Silverlight客户端引擎仅仅提供基础的通信功能(即后面提到的六大武器中的四大武器),暂时不支持文件传送和P2P。
所有类型的客户端都使用几乎完全一致的API接口,且都可与同一ESFramework服务端进行通信,从而使得异构平台变得相对透明。 
 
ESPlus 快速开发
      本手册将着重介绍如何使用ESPlus提供的Rapid引擎(,)来进行ESFramework通信系统的快速开发。欲掌握ESPlus快速开发,需要抓住三个方面:Rapid引擎、四大核心武器、两个可选功能。
Rapid 引擎
在使用ESPlus开发的时候,首先要初始化Rapid引擎——服务端是RapidServerEngine、客户端是RapidPassiveEngine。在引擎对象初始化成功之后,我们就可以使用引擎对象暴露出的四大武器了。
四大核心武器
 通过Rapid引擎对象暴露出的属性,可以获得ESPlus提供的四大武器,大多数情况下,我们正是靠使用这四大武器来进行快速应用开发的。:
 命名空间:用于发送和处理自定义信息。
             命名空间:用于完成在线用户管理、基础功能(如获取在线好友列表等)、和接收用户状态改变通知(如好友上下线等)。
 命名空间:用于完成与文件传送相关的所有功能。
     命名空间:用于完成与P2P打洞、P2P通信相关的所有功能。
两个可选功能
很多分布式通信应用都涉及到客户端与客户端之间需要交互,或者涉及到群组的功能需求(比如在目标组内广播消息)。为了方便更多的开发者,ESPlus对此二点都提供了有限而直接的支持,并将它们分别命名为好友关系以及组关系。对于开发一般的系统而言,它们并不是必需的,而且,我们完全可以基于上面的四大武器自己实现这两个可选功能。
      :
:用于支持好友关系。
 命名空间:用于支持组关系。
好友与组的核心就是IFriendManager接口与IGroupManager接口。注意,类似好友的添加/移除,组成员的添加/移除等,ESPlus是不关心的,ESPlus关心的是“关系” ——即某个用户有哪些好友,某个组包含哪些成员。有了这些信息,在用户上/下线时,ESPlus就知道要将上/下线事件通知给哪些好友和组友;组广播时,ESPlus也才知道要将广播消息发送给哪些用户。   
 
ESPlatform 群集平台
      ESPlatform平台用于将基于ESPlus开发的应用服务器AS进行群集,以实现负载均衡而达到能负载巨大量的用户