一、是什么?

Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议。Openfire安装和使用都非常简单,并利用Web进行管理。单台服务器可支持上万并发用户。由于是采用开放的XMPP协议,您可以使用各种支持XMPP协议的IM客户端软件登陆服务。如果你想轻易地构建高效率的即时通信服务器,那就选择它吧!

二、做什么?

我们要了解Openfire,首先要了解XMPP协议,因为Openfire是用Java语言编写的,基于XMPP协议、开源的实时协作的服务器。Openfire具有跨平台的能力,Openfire与客户端采用的是C/S架构,一个服务器要负责为连接在其上的客户端提供服务。Openfire客户端有spark,pidgin, Miranda IM,iChat等,用户如果自己开发客户端,可以采用遵循GPL的开源Client端API--Smack。Openfire服务器端支持插件开发,如果开发者需要添加新的服务,可以开发出自己的插件后,安装至服务器,就可以提供服务,如查找联系人服务就是以插件的形式提供的。

三、XMPP协议简介

XMPP协议

XMPP(ExtensibleMessageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM(IM:instantmessaging,即时消息)协议之一,其他三种分别为:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。在这四种协议中,XMPP是最灵活的。XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。

   XMPP网络

XMPP中定义了三个角色,客户端,服务器,网关。通信能够在这三者的任意两个之间双向发生。服务器同时承担了客户端信息记录,连接管理和信息的路由功能。网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ,Gtalk等。基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在通道上传输XML。

下面是Openfire, Smack及Client与其它XMPP Server之间通信的结构图。

从图上可以了解到,client 端和server端都可以通过插件的方式来进行扩展,smack是二者传递数据的媒介。

四、总结

综上所述你大概明白openfire的功能和用途,一句话概括它就是用于创建即时通信服务器的工具。那么接下来会更详细的来介绍。

创建即时通信服务器的工具 openfire 简介相关推荐

  1. Ubuntu之make:make命令行工具的简介、安装、使用方法之详细攻略

    Ubuntu之make:make命令行工具的简介.安装.使用方法之详细攻略 目录 make命令行工具的简介 make命令行工具的安装 make命令行工具的使用方法 make命令行工具的简介 Ubunt ...

  2. NPM:nodejs官方包管理工具的简介、安装、使用方法之详细攻略

    NPM:nodejs官方包管理工具的简介.安装.使用方法之详细攻略 目录 NPM之nodejs官方包管理工具的简介 NPM之nodejs官方包管理工具的安装 NPM之nodejs官方包管理工具的使用方 ...

  3. 部分GDAL工具功能简介

    部分GDAL工具功能简介 gdalinfo.exe 显示GDAL支持的各种栅格文件的信息. gdal_translate.exe 在不同的格式间进行转换.同时,潜在的执行了一些切割.重采样和使像素比例 ...

  4. Apache Phoenix:HBase之上的SQL工具[1] 简介与架构

    Apache Phoenix:HBase之上的SQL工具[1] 简介与架构 作者:胡佳辉(Dennis)  时间:2019年1月1日  CSDN博客:https://blog.csdn.net/gob ...

  5. DataScience:KNIME工具的简介、安装、使用方法之详细攻略

    DataScience:KNIME工具的简介.安装.使用方法之详细攻略 目录 KNIME的简介-数据挖掘与分析工具 1.KNIME软件如何帮助您的数据分析? 1.1.Create 1.2.Produc ...

  6. linux Ubuntu之make:make命令行工具的简介、安装、使用方法之详细攻略

    Ubuntu之make:make命令行工具的简介.安装.使用方法之详细攻略 目录 make命令行工具的简介 make命令行工具的安装 make命令行工具的使用方法 make命令行工具的简介 Ubunt ...

  7. 数据库设计及建模工具——ERwin简介

    数据库设计及建模工具--ERwin简介 本站整理   网络搜集   2008-02-09   点击:              1021                我要评论 设计|数据|数据库|数 ...

  8. GNU工具链简介(全)

    Mips GNU工具链简介  1 . 总括 本文分三部分来介绍mips的工具链,首先工具链的总括,其次是每个工具链的简介,最后是各工具链的实际应用举例.我们的项目使用的工具链就如图1所示,声明,本文所 ...

  9. Qt-UI 界面工具库简介

    一.关于Qt-UI界面工具库 Qt-UI界面工具库是武汉维仕杰科技有限公司基于Qt上进行扩展开发的控件包和界面工具,并且拥有完全自主的知识产权.得益于丰富的界面开发经验和强大的支持团队,使得Qt-UI ...

最新文章

  1. c++ -DNDEBUG openMP优化
  2. 我慌了,纠删码是什么?我被面试官问蒙了
  3. 一文详解决策树算法模型
  4. λ-矩阵(若尔当标准形的理论推论)
  5. ArcGis融合小多边形到相邻多边形
  6. mysql修改语句_序言:MySQL与Navicat安装Tips
  7. java ee ide 添加spring,如何在Eclipse IDE项目文件夹中为spring添加jar文件
  8. 资深Linux 系统管理员常用的15个很好用的Cron工作示例
  9. html中加粗的字体如何改细,css怎么把字体变细?
  10. [Codeforces235D]Graph Game——概率与期望+基环树+容斥
  11. 软件基本功:工作目标经常变化,要及时跟进
  12. Netty学习之读netty权威指南(一)
  13. sikuli和Robotframework集成若干问题(一):TypeError: exists(): 2nd arg can't be coerced to double
  14. 海门中等专业学校计算机,江苏海门中等专业学校2021年有哪些专业
  15. 有向图和有权图的邻接矩阵表示法
  16. Kanzi入门学习(二)
  17. 户外直播、慢直播、赛事直播等直播行业的未来发展趋势
  18. 软链接解决存储空间不足
  19. 推荐使用rpx替代upx的公告
  20. 使用FFMpeg将音频PCM数据生成WAV和MP3文件

热门文章

  1. gentoo下gnome的抓图功能
  2. sql 优化之:聚集索引的重要性和如何选择聚集索引(系列五)
  3. easyui treegrid php,easyUI TreeGrid
  4. 设计模式 — 行为型模式 — 中介者模式
  5. DPDK — 架构解析
  6. 部署 H3C CAS E0306
  7. CodeBlocks主题和字体
  8. BZOJ 1927 星际竞速
  9. Symantec(VeriSign)SSL证书
  10. dedecms 会员网站UID注册名转MID