1. Openfire

Openfire是开源的实时协作服务器(RTC),它是基于公开协议XMPP(也成为Jabber)消息的。Openfire的核心功能可以概括为:连接管理、消息解析、消息路由、消息发送。

1.1 框架

Openfire核心功能由Module组成,上图中的各个模块绝大多数也是基于Module实现的。为了动态的管理这些Module,Openfire使用了自己的类加载器JiveClassLoader,这样就可以在不重新启动系统的前提下进行Module的安装、卸载和重新加载。

1.2 Module

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负责组件与服务器端的连接。

OPenfire简介相关推荐

  1. 创建即时通信服务器的工具 openfire 简介

    一.是什么? Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议.Openfire安装和使用都非常简单,并利用Web进行管理.单台服务器可支持上万并发用 ...

  2. Openfire XMPP Smack RTC IM 即时通讯 聊天 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  3. C#连接基于Java开发IM——Openfire

    Openfire简介    Openfire 是开源的.基于可拓展通讯和表示协议(XMPP).采用Java编程语言开发的实时协作服务器.Openfire的效率很高,单台服务器可支持上万并发用户.    ...

  4. openfire 详细介绍

    openfire 详细介绍 http://blog.csdn.net/tyj1982/article/details/6686565 http://www.cnblogs.com/hellowzd/p ...

  5. openfire java_C#连接基于Java开发IM——Openfire

    Openfire简介 Openfire 是开源的.基于可拓展通讯和表示协议(XMPP).采用Java编程语言开发的实时协作服务器.Openfire的效率很高,单台服务器可支持上万并发用户. Serve ...

  6. iOS 下配置XMPP 服务器openfire详解

    一.下载并安装openfire 1.到http://www.igniterealtime.org/downloads/index.jsp下载最新openfire for mac版 比如:Openfir ...

  7. sitemesh官网简介,安装配置教程。(非常适合新手)

    新手一枚,最近研究openfire,看到网上资料其页面布局用的是sitemesh,第一次听说,上网查了好多资料,也看了好多博客介绍,觉得好神奇的技术(高手勿喷).不过我也很好奇现在和sitemesh类 ...

  8. Openfire及Spark配置(Mac)

    1. Openfire安装 1). 打开终端, 使用java -version命令查看是否拥有Java环境, 如果有,则直接看第三步,如果没有则接着看第二步, 图1所示为存在Java环境时的状态. 图 ...

  9. Openfire配置过程,以及与php交互注意事项。

    使用 XMPP 构建一个基于 web 的通知工具 转 使用 XMPP 构建一个基于 web 的通知工具 使用 XMPP.PHP 和 JavaScript 编写实时 web 应用程序 Ben Werdm ...

最新文章

  1. 如何用Python处理分类和回归问题?附方法和代码
  2. python命令解析_python解析命令行
  3. xmlWriter以UTF-8格式写xml问题
  4. UITabBarController 的配置
  5. hcg值小于0.1_电容的Q值
  6. 转)使用C/C++扩展Python
  7. ADO.NET Entity Framework之ObjectQuery
  8. Golang 二叉树系列【二叉树深度】
  9. oracle注释 kole_t2u,oracle4
  10. ROS里程计的学习(odometry) (二)
  11. Gromacs 的第一步_能量最小化
  12. 【第一期】大话计算机网络(猫、路由器、wifi)
  13. 辛钦大数定理(揭示了均值和数学期望的关系)
  14. 电脑鼠标右键失效linux,鼠标右键失灵,教你win7电脑鼠标右键失灵的应对办法
  15. Android--- Drawer and Tab Navigation with ViewPager
  16. 微服务化小团队:让 GitLab、Jenkins 与 Sonar 碰撞出火花
  17. 电脑技巧:电脑键盘F1~F12按键的妙用
  18. 7个项目管理强力工具介绍
  19. 微型计算机拆的步骤视频,微型计算机拆卸.ppt
  20. wr742n虚拟服务器,TP-Link TL-WR742N路由器作为无线交换机的设置方法

热门文章

  1. php imagemagick 漏洞,ImageMagick漏洞EXP简易生成脚本
  2. matlab如何截取图像的中间部分_利用matlab提取并分割RGB图像中的某一个已知像素值的图像...
  3. vue 富文本存储_Vue富文本编辑器
  4. linux 获取 基地址,linux - 每个函数加载的glibc基地址不同。 - SO中文参考 - www.soinside.com...
  5. QtCreater的安装路径
  6. 开闭操作进行平滑处理与边缘提取
  7. 《effective java》类和对象
  8. 数据库远程访问数据库服务器网站和端口问题
  9. System center 2012 R2 实战十、妙用SCO+SCOM实现声音告警
  10. Centos版本 32或64位查看命令