1: openfire文件包:
openfire_src\lib : openfire需要的基础jar
openfire_src\src\i18n : 国际化文件
openfire_src\src\database : 初始化时数据库加载SQL文件
openfire_src\src\plugins : 插件
2:ant : openfire_src\build
openfire[default] : 构建openfire
plugins : 插件编译
plugin -Dplugin=a 编译插件a:
3:底层通信的核心是MINA。
4:数据交互包含3种格式:ip,message,presence
iq:命令格式,让服务器发送一种命令请求,例如:登录
message:消息
presence:状态,获取用户状态:在线,离线,退出
5: XMPPServer.java所有服务的加载类
ServerStarter.java 服务启动
ConnectionHandler.java所有消息的统一入口
StanzaHandler.java消息处理,主要处理消息类型
IQRouter.java IQ消息路由,选择需要处理的Handler类(package org.jivesoftware.openfire.handler)下.
MessageRouter.java message路由
MulticastRouter.java 广播
PresenceRouter.java presence路由
IQHandler.java 消息提交