ESFramework 开发手册(13) -- ESFramework 二次开发说明
一. ESFramework 主要组件
根据前面系列文章介绍的内容,我们总结一下,ESFramework主要包含了以下组件:
(1)用黑色字体和蓝色字体表示的组件,表示是由ESFramework内部实现的,提供给二次开发者可以直接使用的。
(2)用红色字体表示的接口,表示是由二次开发者提供其实现,并挂接到引擎实例上的,供框架回调(通过Rapid引擎的Initialize方法的参数传入,或其属性注入)。
二. ESFramework 二次开发要点
当基于ESFramework开发分布式通信应用时,可以遵循下面的步骤:
(1) 系统中的客户端用户之间是否存在好友关系、是否需要相互通信?如果是,则要实现IFriendManager接口。
(2) 系统中是否需要将客户端用户进行分组/群、是否需要在组内进行广播消息?如果是,则要实现IGroupManager接口。
(3) 分析项目需求,定义所有的自定义信息类型和自定义信息协议。
(4) 在客户端和服务端分别实现各自的ICustomizeHandler接口,用于处理自定义信息、完成系统业务功能。
(5) 在服务端实现IBasicHandler接口,用于验证用户账密。如果不需要验证,则直接使用ESPlus提供的EmptyBasicHandler。
(6) 通过RapidEngineFactory创建客户端和服务端Rapid引擎,设置相关属性的值,并调用其Initialize方法。
(7) 在客户端,预定并处理引擎的IRapidPassiveEngine暴露的连接状态变化事件。如有需要,还可预定并处理BasicOutter以及FriendsOutter、GroupOutter等相关状态通知事件。
(8) 在服务端,预定并处理Rapid引擎的UserManager属性的用户状态变化事件。
(9) 使用引擎实例通过属性暴露的四大武器,进一步实现系统业务功能。
三. 跨平台:支持其它平台的客户端
除了.NET平台之外,ESFramework 还提供了以下平台的客户端引擎。
(1)原生Android(native android)
(2)原生iOS(native iOS)
(3)基于Xamarin的Android与iOS
(4)WebSocket(ws 以及 wss)
(5)Mono
如何进行跨平台的开发,具体请参见:ESFramework 使用技巧 -- 跨平台开发
下一篇:ESFramework 开发手册(14) -- Xamarin移动端开发(Android、iOS)
上一篇:ESFramework 开发手册(12) -- 服务端性能诊断
-----------------------------------------------------------------------------------------------------------------------------------------------
Q Q:168757008