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 消息提交