Home  >  Q&A  >  body text

ios - XMPP聊天服务器选择

我现在用ejabberd,另外听说OpenFire也有人在用。有谁比较过XMPP服务器的不同实现吗?请从易用(如学习曲线)和功能完整性的角度给出一些建议。
XMPP服务器用于Web页面以及App客户端的聊天。要求可以方便地集成现有的数据库的用户数据,如昵称,头像。最好是支持XEP-0084,支持XEP-0153也可以。能够支持在服务端保持聊天记录就更好了 :)

大家讲道理大家讲道理2714 days ago453

reply all(3)I'll reply

  • 天蓬老师

    天蓬老师2017-04-17 11:19:37

    据我所知,Prosody 是支持昵称和头像的,哪个 XEP 不清楚。支持数据库存储,具体不清楚,反正有插件机制。保持聊天记录的话可以使用插件搞定。那个我写了一半。语言是 Lua,一般用用还好。管理通过 XMPP 表单完成,无 Web 界面。

    ejabberd 是 Erlang 写的,所以插件估计也得用 Erlang 写了。昵称和头像肯定是支持的。我在使用中遇到这样个问题:它的数据接收有些不及时,在 socket 的接收缓冲区满时客户端连接会断掉。带简单的 Web 界面。

    以上两个简单配置都不难,配置文件都是以其编写语言(Lua/Erlang)的格式保存的。

    Openfire 是 Java 写的,配置文件好像是 XML,带 Web 界面。我只配置过一次,不太记得了。在一些讨论 XMPP 的地方不止一次看到 Openfire 有支持不完善的 bug。不建议使用。

    对了,像这种比较维基百科上一般都有不少信息的,比如这个 https://en.wikipedia.org/wiki/Compari...。

    reply
    0
  • 阿神

    阿神2017-04-17 11:19:37

    我用openfire,感觉ejabberd实现的协议比openfire少,好像sock5stream也没实现

    reply
    0
  • 高洛峰

    高洛峰2017-04-17 11:19:37

    openfire是企业级IM的定位,也可以实现集群。Openfire算是个比较完整的解决方案。开源,免费。学习成本不高。搭建较快。

    reply
    0
  • Cancelreply