OPenfire简介
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简介相关推荐
- 创建即时通信服务器的工具 openfire 简介
一.是什么? Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议.Openfire安装和使用都非常简单,并利用Web进行管理.单台服务器可支持上万并发用 ...
- Openfire XMPP Smack RTC IM 即时通讯 聊天 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- C#连接基于Java开发IM——Openfire
Openfire简介 Openfire 是开源的.基于可拓展通讯和表示协议(XMPP).采用Java编程语言开发的实时协作服务器.Openfire的效率很高,单台服务器可支持上万并发用户. ...
- openfire 详细介绍
openfire 详细介绍 http://blog.csdn.net/tyj1982/article/details/6686565 http://www.cnblogs.com/hellowzd/p ...
- openfire java_C#连接基于Java开发IM——Openfire
Openfire简介 Openfire 是开源的.基于可拓展通讯和表示协议(XMPP).采用Java编程语言开发的实时协作服务器.Openfire的效率很高,单台服务器可支持上万并发用户. Serve ...
- iOS 下配置XMPP 服务器openfire详解
一.下载并安装openfire 1.到http://www.igniterealtime.org/downloads/index.jsp下载最新openfire for mac版 比如:Openfir ...
- sitemesh官网简介,安装配置教程。(非常适合新手)
新手一枚,最近研究openfire,看到网上资料其页面布局用的是sitemesh,第一次听说,上网查了好多资料,也看了好多博客介绍,觉得好神奇的技术(高手勿喷).不过我也很好奇现在和sitemesh类 ...
- Openfire及Spark配置(Mac)
1. Openfire安装 1). 打开终端, 使用java -version命令查看是否拥有Java环境, 如果有,则直接看第三步,如果没有则接着看第二步, 图1所示为存在Java环境时的状态. 图 ...
- Openfire配置过程,以及与php交互注意事项。
使用 XMPP 构建一个基于 web 的通知工具 转 使用 XMPP 构建一个基于 web 的通知工具 使用 XMPP.PHP 和 JavaScript 编写实时 web 应用程序 Ben Werdm ...
最新文章
- 如何用Python处理分类和回归问题?附方法和代码
- python命令解析_python解析命令行
- xmlWriter以UTF-8格式写xml问题
- UITabBarController 的配置
- hcg值小于0.1_电容的Q值
- 转)使用C/C++扩展Python
- ADO.NET Entity Framework之ObjectQuery
- Golang 二叉树系列【二叉树深度】
- oracle注释 kole_t2u,oracle4
- ROS里程计的学习(odometry) (二)
- Gromacs 的第一步_能量最小化
- 【第一期】大话计算机网络(猫、路由器、wifi)
- 辛钦大数定理(揭示了均值和数学期望的关系)
- 电脑鼠标右键失效linux,鼠标右键失灵,教你win7电脑鼠标右键失灵的应对办法
- Android--- Drawer and Tab Navigation with ViewPager
- 微服务化小团队:让 GitLab、Jenkins 与 Sonar 碰撞出火花
- 电脑技巧:电脑键盘F1~F12按键的妙用
- 7个项目管理强力工具介绍
- 微型计算机拆的步骤视频,微型计算机拆卸.ppt
- wr742n虚拟服务器,TP-Link TL-WR742N路由器作为无线交换机的设置方法
热门文章
- php imagemagick 漏洞,ImageMagick漏洞EXP简易生成脚本
- matlab如何截取图像的中间部分_利用matlab提取并分割RGB图像中的某一个已知像素值的图像...
- vue 富文本存储_Vue富文本编辑器
- linux 获取 基地址,linux - 每个函数加载的glibc基地址不同。 - SO中文参考 - www.soinside.com...
- QtCreater的安装路径
- 开闭操作进行平滑处理与边缘提取
- 《effective java》类和对象
- 数据库远程访问数据库服务器网站和端口问题
- System center 2012 R2 实战十、妙用SCO+SCOM实现声音告警
- Centos版本 32或64位查看命令