永恒之塔模拟器代码分析之 AE_Commons
更新时间:2012-07-19 01:27
文章作者:
浏览次数: 次
Commons是整个模拟器的主支持模块,负责了数据通信和脚本以及日志的工作,相当于是模拟器的基类.
我来简单分析下AE_Commons,主要从以下几个方面来看:
首先方便大家了解其结构,我绘制了张UML图:
我们看在com.aionemu.commons包里,有18个基础包,分别的作用是:
1. configuration : 控制进程和数据接口.
2. configuration.transformers : 数据格式转换.
3. database : 建立数据连接池和查询句柄.
4. database .dao : DAO 虚类.
5. log4j : 日志记录.
6. log4j.appenders : 日志输出zip文件.
7. log4j.exceptions: 日志抛出异常控制. 本文来自织梦
8. log4j.filters : 日志过滤器.
9. network : 重点下面介绍
10. options : 是否编译network的开关.
11. scripting : 载入、编译、部署脚本.
12. scripting.impl : 脚本实现.
13. scripting.impl.javacompiler : 载入脚本并编译.
14. scripting.metadata : 标记载入/载出脚本.
15. scripting.scriptmanager : 脚本管理模块.
16. services : 日志服务.
17. utils : 各种数据结构定义.
18. utils.i18n : 资源包控制模块.
----------------------------------------------------------------------------------------------------------------------
这里着重讨论下network和scripting部分。
首先看包的结构:
1. network
|- AcceptDispatcherImpl : 转发控制器. copyright dedecms
|- Acceptor : 接收serversocket的接口,使用了NIO.
|- AcceptReadWriteDispatcherImpl : 通过NIO来设置和消除selected-key,
然后开关程序池
|-
|-
|-
|-
|-
|- 织梦好,好织梦
|-
|-