首页 > 开发 > iOS > 正文

XMPP聊天服务器选择

2017-09-08 14:03:25  来源:网友分享

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

解决方案

据我所知,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...