常用开源Jabber(XMPP) IM服务器介绍

2023-05-16

转自:http://www.kfdoc.com/Article/kaifayuyan/Java/200909/283.html

 

1. Openfire (Wildfire) 3.x
授权: GPL or 商用
操作系统平台:所有(使用Java开发)
XMPP Jabber 协议实现情况:98%
Tim 评价:
安装和使用非常简单,安装后进入Web界面进行2~3分钟的配置所有的东西都设好了。使用Java语言开发,在目前Java开发人员到处普及的情况下进行维护和扩展的成本非常低。在我的测试中加上 Connection Manager 的情况下单台服务器可支持 30 万并发用户。缺点是目前还不支持Cluster。如果企业内部部署IM使用 Wildfire + Spark 是最佳的组合。
见:http://hi.baidu.com/jabber/blog/Category/Wildfire

2. ejabberd
授权: GPL
操作系统平台:Linux, Windows, MaCOS X 等
XMPP Jabber 协议实现情况:91%
Tim 评价:
Ejabberd目前是可扩展性最好的一种Jabber/XMPP服务器,支持分布多个服务器,并且具有容错处理,单台服务器失效不影响整个Cluster运作。
顾虑就是它采用一种大家都没听过的语言Erlang开发,所以很多人可能会象我一样因为这个原因放弃了它。

3. Jabberd 2.x
授权: GPL
操作系统平台:主要是 Linux, (Windows 也支持,但不知道性能怎样)
XMPP Jabber 协议实现情况:76%
Tim 评价:
自从jabber.org改用ejabberd之后,Jabberd一直都在走下坡路。扩展性比不上ejabberd, 易用性比不上 Wildfire,唯一的优势是使用C开发,如果你坚持要用C开发,那么还是选择jabberd吧。

4. Jabberd 1.x
授权: GPL
操作系统平台:主要是 Linux, (Windows 也支持,但不知道性能怎样)
XMPP Jabber 协议实现情况:45%
Tim 评价:
在几年前 jabberd 就是 Jabber 的代名词,至今很多 Jabber 文档仍然介绍的是 Jabber 1.4,
在我以前写的《Jabber 服务器占有率比较》中仍然排名第一。但是它很多新的规范都不支持,相信大部分用户都将转向新的服务器。
见:http://hi.baidu.Com/jabber/blog/item/7d25bb199f31a44542a9ad02.html

5. 后起之秀 DJabberd
授权: open sourCe
操作系统平台:主要是 Linux, (Perl写的,其他平台应该也支持)
XMPP Jabber 协议实现情况:N/A
Tim 评价:
djabberd 使用 epoll 技术,理论上单台服务器可以支持更多用户。Djabberd目前主要应用在LiveJournal上,大部分XMPP协议都支持,稳定性也不用置疑。但是因为推出时间尚短,很多细节功能可能需要时间慢慢完善。
djabberd介绍见:http://hi.baidu.com/jabber/blog/Category/Djabberd

参考资源:
http://www.jabber.org/software/servers.shtml

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

常用开源Jabber(XMPP) IM服务器介绍 的相关文章

  • Docker容器之Dockerfile构建镜像

    目录 一 Dcokerfile概念 1 dockerfile的原理 二 Docker镜像的创建 1 基于已有镜像创建 2 基于本地模板创建 3 基于dockerfile创建 三 镜像分层的原理 1 Docker镜像分层 xff08 基于AU
  • 树莓派——开机指南

    1 准备 硬件准备 树莓派一块 SD卡 xff08 小卡 xff09 读卡器 树莓派电源或安卓手机电源 xff08 功率10w以上 xff0c 不然会导致电压不足会影响其性能 xff09 一台电脑 xff08 可以没有显示屏和鼠标键盘 xf
  • pytesseract的使用 | python识别验证码

    目录 1 安装tesseract2 安装pytesseract3 修改包中部分代码4 代码网站测试 1 安装tesseract 详见 xff1a https blog csdn net lijiamingccc article detail
  • 从一道面试题彻底搞懂hashCode与equals的作用与区别及应当注意的细节

    最近去面试了几家公司 xff0c 被问到hashCode的作用 xff0c 虽然回答出来了 xff0c 但是自己还是对hashCode和equals的作用一知半解的 xff0c 所以决定把它们研究一下 以前写程序一直没有注意hashCode
  • powershell 远程执行命令失败

    Connecting to remote server failed with the following error message The WinRM client cannot process the request If the a
  • Hypermesh+Abaqus加载问题

    Hypermesh 43 Abaqus加载问题 参考视频载荷加载问题总结 参考视频 Hypermesh Abaqus联合仿真案例指导1 垂直载荷作用下的平板受力分析 https www bilibili com video av748087
  • C++11智能指针(五):shared_ptr的循环引用的问题及weak_ptr

    shared ptr的主要优点是当不再使用时会自动释放相关的内存 但是如果我们不仔细使用shared ptr xff0c 那么这个优势就会变成一个劣势 我们来看看 xff1a 假设我设计一个二叉树 xff0c 并在其中包含一个指向左右子节点
  • ubuntu编译安装mysql

    使用的gcc版本7 5 0 1 先安装bison libtool gettext texinfo flex cmake openssl ncurses等软件 这些软件的源码编译过程见我前面的博客 2 下载源码 xff0c 注意下载有boos
  • wsl重启及如何在wsl下执行cmd命令

    wsl重启 本质上修改环境变量source不生效 想重启一下又要打开命令行 其实wsl可以直接调用windows下的程序 因此只需要执行 wsl exe 但是执行习惯了reboot 可以在shell的配置文件中配置alias span cl
  • 编译nginx时几种常见错误

    在对nginx进行编译时报了如下图所示错误 src os unix ngx user c In function ngx libc crypt src os unix ngx user c 36 7 error struct crypt d
  • C++利用libtelnet库完成客户端类封装telnet收发

    CMeshSocket h头文件 库文件网址https github com seanmiddleditch libtelnet 需要根据返回数据调整接受规则 xff0c 我连接设备服务器为一问一答 xff0c 返回数据为JSON且以 n结
  • 如何安装Anaconda并解决“‘conda‘ 不是内部或外部命令,也不是可运行的程序”的问题

    如何安装Anaconda 我们在安装完Anaconda后可能会遇到 conda 不是内部或外部命令 xff0c 也不是可运行的程序的问题 xff0c 下面将会放置完整的安装过程和解决这个问题 进入网站 xff0c 下载miniconda h
  • 求某一天是这一年的第几天(判断闰年)

    用结构体实现今天是这一年的第几天 用数组存储每月的天数 include lt stdio h gt typedef struct Day int year int month int day Day bool IsLeapYear int
  • VirtualBox安装Debian之后,Debian无法启动,一直闪烁光标

    https blog csdn net quantum7 article details 104084845
  • 获取本地时间的函数

    span class token keyword function span span class token function getTime span span class token punctuation span span cla
  • Debian-8.7.1 系统安装

    Debian 8 7 1 系统安装 本人使用Linux操作系统多年 xff0c 主要是centos xff0c 但从来没用过debian系统 xff0c 今天准备安装一个系统看看 xff0c 网上查资料 xff0c 大部都是debian老版
  • MySQL 8.0 忘记密码/修改root密码

    1 以管理员身份打开cmd窗口 xff0c 定位到MySQL安装目录下的bin目录 xff0c 输入net stop mysql 回车 xff0c 关闭MySQL数据库 2 输入mysqld console skip grant table
  • python使用ElementTree处理xml容易犯错的点&美化xml

    python使用ElementTree处理xml容易犯错的点 amp 美化xml 引言代码环境相关先上代码 引言 目前因为需要写一个tool处理xml文件 xff0c 对于面向浏览器编程的我来说 xff0c 迅速打开chrome开始搜索关键
  • java截取视频的三种方式

    String cut 61 34 ffmpeg ss 34 43 startTime 43 34 i 34 43 videoPath 43 34 t 34 43 String valueOf seconds 43 34 c v copy c
  • 有关C语言中字符串入栈的理解

    C语言中字符串的入栈 写在前面 对于C语言中变量入栈的顺序实际上需要具体情况具体分析 xff0c 不同操作系统下的编译器可能对此有不同的解释 xff0c 即使对于同一个C的编译器而言 xff0c 参数设定的不同也会导致编译器调整局部变量的入

随机推荐