电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Openfire源码分析—图文兼备VIP免费

Openfire源码分析—图文兼备_第1页
1/10
Openfire源码分析—图文兼备_第2页
2/10
Openfire源码分析—图文兼备_第3页
3/10
Openfire 源码分析 1. Openfire Openfire 是开源的实时协作服务器(RTC),它是基于公开协议XMPP(也成为Jabber)消息的。Openfire 的核心功能可以概括为:连接管理、消息解析、消息路由、消息发送。 1.1 框架 Openfire 核心功能由 Module 组成,上图中的各个模块绝大多数也是基于Module 实现的。为了动态的管理这些 Module,Openfire 使用了自己的类加载器JiveClassLoader,这样就可以在不重新启动系统的前提下进行 Module 的安装、卸载和重新加载。 1.2 Modu le Openfire 在启动时就加载了所有的Module,这些 Module 提供了 Openfire 的核心功能。 所有 Module 都需要实现 Module 接口,该接口中定义了模块生命周期中需要调用的方法,如下图所示: 1.3 数据流 2. Openfire 与MIMA MINA 是Apache 组织下的一个项目,它可以帮助用户轻松的开发高性能和高扩展性的网络应用。MINA 提供了一个抽象的、支持各种传输协议的(如 TCP/IP、UDP/IP)、基于 Java NIO 的异步事件驱动的API。 Openfire 的ConnectionHandler 类继承了MINA 的IoHandlerAdaper,他主要负责连接的创建、销毁,以及接收到 XML 数据包的投递。ConnectionHandler 有三个子类,其中ClientConnectionHandler 负责客户端与服务器端的连接,ComponentConnectionHandler 负责组件与服务器端的连接。 3. Mu lti-User-Chat 多人聊天的消息是绑定在子域 conference 上的,对应的Component 是MultiUserChatServiceImpl。在多人聊天中,涉及到的实体与关系有:用户、聊天室、用户与聊天室的关系,MultiUserChatServiceImpl 就负责这些实体与关系的维护以及消息的投递。 3.1 MUCUser MUCUser 是参与群聊用户的一个抽象,用于与聊天服务器进行交互,比如发送和接收聊天信息。 3.2 MUCRole 定义了MUCRoom与 MUCUser 的关系。同一个 MUCUser 在不同的MUCRoom中可以有不同的角色。 3.3 MUCRoom 包含聊天室的基本信息及参与人、聊天记录等信息。 3.4 MultiUserChatServiceImpl 管理所有的聊天室,并负责消息的分发。 3.5 时序图 4. Pub-Sub 发布订阅消息是绑定在子域pu bsu b 上的,对应的模块是Pu bSu bModu le。 4.1 Node 发布订阅系统中的虚拟节点,该节点可以接收或者发布各类信息或通知。在其他发布订阅系统中常被称为 TOPIC。 CollectionNode 可以包含子节点,子节点的类型可以是CollectionNode...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Openfire源码分析—图文兼备

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部