XMPP聊天服务器选择
我现在用ejabberd,另外听说OpenFire也有人在用。有谁比较过XMPP服务器的不同实现吗?请从易用(如学习曲线)和功能完整性的角度给出一些建议。
XMPP服务器用于Web页面以及App客户端的聊天。要求可以方便地集成现有的数据库的用户数据,如昵称,头像。最好是支持XEP-0084,支持XEP-0153也可以。能够支持在服务端保持聊天记录就更好了 :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
据我所知,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...。
我用openfire,感觉ejabberd实现的协议比openfire少,好像sock5stream也没实现
openfire是企业级IM的定位,也可以实现集群。Openfire算是个比较完整的解决方案。开源,免费。学习成本不高。搭建较快。